赞
踩
- # -*- coding: utf-8 -*-
- """
- Created on Mon Dec 28 13:47:07 2020
- """
-
- ##+++++++++++++++++++++++++++(一)绘图所需的基础库+++++++++++++++++++++++++++##
- import pandas as pd # 用于处理表格数据
- import numpy as np # 用于科学计算
- import matplotlib.pyplot as plt # 绘图的核心库
- from matplotlib.font_manager import FontProperties # 字体属性管理器,知道就好
-
-
- ##+++++++++++++++++++++++++++(二)导入和准备数据+++++++++++++++++++++++++++##
-
- # 读取CSV文件的数据,替换数据的路径即可,即单引号内的内容
- data = pd.read_csv(r'C:\Users\Yi_xyf\Desktop\Datasets\dataset-1_time-speed.csv')
-
- # 读取数据表中的时间所在列,如果是其他的列,替换单引号内的列名称即可
- time = data['time']
-
- # 读取速度所在列
- speed = data['speed']
-
-
- ##+++++++++++++++++++++++++++(三)基本属性设置+++++++++++++++++++++++++++##
- #设置画布的尺寸,单位为英寸,根据最终输出的图像大小调整一下数字
- plt.figure(figsize=(3.2, 2))
-
- # 设置坐标轴标题字体及其大小,修改字体时替换字体的路径即可
- font1 = FontProperties(fname=r"C:\Windows\Fonts\times.TTF", size=8)
-
- # 设置坐标轴刻度字体及其大小
- font2 = FontProperties(fname=r"C:\Windows\Fonts\times.TTF", size=8)
-
- # 设置图例字体
- font3 = FontProperties(fname=r"C:\Windows\Fonts\times.TTF", size=7)
-
- # 设置中文字体显示,如果途中村子中文时,取消改行的注释符号 # 即可正常显示中文
- # plt.rcParams['font.sans-serif']=['STSong']
-
- # 设置坐标轴线条粗细,也就是下面代码中的 cu= 的数值,一般设置为 0.6 左右即可
- ax = plt.subplot(1,1,1)
- cu = 0.6
- ax.spines['left'].set_linewidth(cu)
- ax.spines['right'].set_linewidth(cu)
- ax.spines['bottom'].set_linewidth(cu)
- ax.spines['top'].set_linewidth(cu)
-
-
- ##+++++++++++++++++++++++++++(四)绘图部分+++++++++++++++++++++++++++##
- # 括号内 time,speed 对应的分别是 X 和 Y 值;lw 表示线条的宽度,一般取 0.8;
- # ls 表示线条的风格,- 表示实线,-- 表示虚线,: 表示点虚线,-. 表示点划线;
- # 注意这些符号需要在英文状态下输入,只修改单引号以内的内容,不要删掉单引号
- # c 表示颜色,#FFF000 表示十六进制颜色代码,推荐的两个配色网站均是该类代码,可直接复制粘贴过来
- # 最后的 label 表示该条线的标签,最终会展示在图例中,同样只修改单引号内的内容就可
- plt.plot(time, speed, lw=0.8, ls='-', c='#ef4f4f', label=r'$s(t) = \mathcal{A}\/\sin(2 \omega t)$')
-
- # 绘制水平线和垂线:垂直于 X 轴线条,三个数字依次表示 x, ymin, ymax
- plt.vlines(25, 0, 30, color='#537EC5', linewidth=0.8, ls='--')
-
- # 绘制水平线:垂直于 X 轴线条,三个数字依次表示 y, xmin, xmax
- plt.hlines(30, 0, 25, color='#537EC5', linewidth=0.8, ls='--')
-
- # 文本注释:单引号内表示要注释的内容;xy 表示要注释的点坐标;xytext 表示注释文字的坐标;
- # 注意最后是字体的选择,这里选择前边设置的 第 2 类 字体:font2
- plt.annotate('(25,30)', xy=(25, 30), xytext=(30, 20), fontproperties=font2)
-
- # 箭头注释:单引号内是要注释内容;xy 表示要注释的点坐标;xytext 表示注释文字的坐标;字体设置同上
- # 最后的是箭头设置,即 arrowprops=dict() 括号内的内容,第一个表示箭头的颜色,后面的表示箭头的类型,最后一个表示箭头的线宽
- plt.annotate(r'$\mathit{\Delta V}$', xy=(25, 30), xytext=(45, 50), fontproperties=font2, arrowprops=dict(color='#373331', arrowstyle='->', linewidth=0.6))
-
-
- ##+++++++++++++++++++++++++++(五)坐标轴设置及图像美化+++++++++++++++++++++++++++##
- # 设置坐标轴标题的名字,及其字体类型,我们选择预设的 font1
- plt.xlabel('time (s)', fontproperties=font1)
- plt.ylabel('speed (km/h)', fontproperties=font1)
-
- # 设置坐标轴刻度字体的类型(样式和大小),我们选择预设的 font2
- plt.xticks(fontproperties=font2)
- plt.yticks(fontproperties=font2)
-
- # 设置图例的位置,loc 后的数字一般取 1、2、3、4,依次表示右上、左上、左下和右下
- # prop 表示字体属性,我们选择预设的 font3;edgecolor 表示图例边框颜色,w 为白色;framealpha 后的数字表示透明度
- plt.legend(loc=4, prop=font3, edgecolor='w', framealpha=0) # bbox_to_anchor=(1,0.5) 控制图例的位置
-
- # 表示开启网格线,注释掉时不显示
- #plt.grid()
-
-
- ##+++++++++++++++++++++++++++(六)设置坐标轴刻度范围及间隔+++++++++++++++++++++++++++##
- #从pyplot导入MultipleLocator类,这个类用于设置刻度间隔
- from matplotlib.pyplot import MultipleLocator
-
- # 设置坐标轴的朝向,in 表示朝内向,反之亦然
- plt.tick_params(direction='in') #设置坐标轴刻度的朝向
-
- # 设置 X 和 Y 轴的最小最大值范围,对应的修改数字即可
- plt.xlim(0, 100)
- plt.ylim(0,105)
-
- # 设置坐标轴刻度值显示间隔,对应的修改数字即可
- x_major_locator=MultipleLocator(20)
- y_major_locator=MultipleLocator(25)
-
- # ax为两条坐标轴的实例,这块代码不用管
- ax=plt.gca()
- ax.xaxis.set_major_locator(x_major_locator)
- ax.yaxis.set_major_locator(y_major_locator)
-
-
- ##+++++++++++++++++++++++++++(七)指定图片保存位置、格式、分辨率+++++++++++++++++++++++++++##
- # 保存图片,单引号内表示路径;dpi 后数字表示分辨率,一般取300;最后一个是让图四周的白边更少,不用改动
- plt.savefig(r'C:\Users\Yi_xyf\Desktop\Datasets\dataset-1_time-speed.tiff', dpi=300, bbox_inches='tight')
- # 这个代码每次放在最后即可
- plt.show()
- # -*- coding: utf-8 -*-
- """
- Created on Wed Dec 30 11:12:41 2020
- """
-
- ##+++++++++++++++++++++++++++(一)绘图所需的基础库+++++++++++++++++++++++++++##
- import pandas as pd # 用于处理表格数据
- import numpy as np # 用于科学计算
- import matplotlib.pyplot as plt # 绘图的核心库
- from matplotlib.font_manager import FontProperties # 字体属性管理器,知道就好
-
-
- ##+++++++++++++++++++++++++++(二)导入和准备数据+++++++++++++++++++++++++++##
-
- # 读取CSV文件的数据,替换数据的路径即可,即单引号内的内容
- data = pd.read_csv(r'C:\Users\Yi_xyf\Desktop\Datasets\dataset-2_time_speed_9.csv')
-
- # .iloc[:,0] 表示读取 data 的某行某列,第一个 :表示所有行,0 表示读取第一列,这样就对应的第一列的所有行,注意 Python 是从 0 计数的
- time = data.iloc[:,0]
-
- ##+++++++++++++++++++++++++++(三)基本属性设置+++++++++++++++++++++++++++##
- #设置画布的尺寸,单位为英寸,根据最终输出的图像大小调整一下数字
- plt.figure(figsize=(3.2, 2))
-
- # 设置坐标轴标题字体及其大小,修改字体时替换字体的路径即可
- font1 = FontProperties(fname=r"C:\Windows\Fonts\times.TTF", size=8)
-
- # 设置坐标轴刻度字体及其大小
- font2 = FontProperties(fname=r"C:\Windows\Fonts\times.TTF", size=8)
-
- # 设置图例字体
- font3 = FontProperties(fname=r"C:\Windows\Fonts\times.TTF", size=7)
-
- # 设置中文字体显示,如果途中村子中文时,取消改行的注释符号 # 即可正常显示中文
- # plt.rcParams['font.sans-serif']=['STSong']
-
- # 设置坐标轴线条粗细,也就是下面代码中的 cu= 的数值,一般设置为 0.6 左右即可
- ax = plt.subplot(1,1,1)
- cu = 0.6
- ax.spines['left'].set_linewidth(cu)
- ax.spines['right'].set_linewidth(cu)
- ax.spines['bottom'].set_linewidth(cu)
- ax.spines['top'].set_linewidth(cu)
-
-
- ##+++++++++++++++++++++++++++(四)绘图部分+++++++++++++++++++++++++++##
- # 括号内 time,speed 对应的分别是 X 和 Y 值;lw 表示线条的宽度,一般取 0.8;
- # ls 表示线条的风格,- 表示实线,-- 表示虚线,: 表示点虚线,-. 表示点划线;
- # 注意这些符号需要在英文状态下输入,只修改单引号以内的内容,不要删掉单引号
- # c 表示颜色,#FFF000 表示十六进制颜色代码,推荐的两个配色网站均是该类代码,可直接复制粘贴过来
- # 最后的 label 表示该条线的标签,最终会展示在图例中,同样只修改单引号内的内容就可
-
- # 表示绘制第一根曲线,因为它是实线,且颜色不同于其他
- plt.plot(time, data.iloc[:,1], lw=0.8, ls='-', c='#fe5f55', label='First car')
-
- # 绘制中间的 2 ~ 8 根曲线
- for i in range(2,9):
- plt.plot(time, data.iloc[:,i], lw=0.8, ls='--', c='#00509d')
-
- # 绘制最后一根曲线
- plt.plot(time, data.iloc[:,9], lw=0.8, ls='--', c='#00509d', label='Other cars')
-
-
- ##+++++++++++++++++++++++++++(五)坐标轴设置及图像美化+++++++++++++++++++++++++++##
- # 设置坐标轴标题的名字,及其字体类型,我们选择预设的 font1
- plt.xlabel('time (s)', fontproperties=font1)
- plt.ylabel('speed (km/h)', fontproperties=font1)
-
- # 设置坐标轴刻度字体的类型(样式和大小),我们选择预设的 font2
- plt.xticks(fontproperties=font2)
- plt.yticks(fontproperties=font2)
-
- # 设置图例的位置,loc 后的数字一般取 1、2、3、4,依次表示右上、左上、左下和右下
- # prop 表示字体属性,我们选择预设的 font3;edgecolor 表示图例边框颜色,w 为白色;framealpha 后的数字表示透明度
- plt.legend(loc=4, prop=font3, edgecolor='w', framealpha=0) # bbox_to_anchor=(1,0.5) 控制图例的位置
-
- # 表示开启网格线,注释掉时不显示
- #plt.grid()
-
-
- ##+++++++++++++++++++++++++++(六)设置坐标轴刻度范围及间隔+++++++++++++++++++++++++++##
- #从pyplot导入MultipleLocator类,这个类用于设置刻度间隔
- from matplotlib.pyplot import MultipleLocator
-
- # 设置坐标轴的朝向,in 表示朝内向,反之亦然
- plt.tick_params(direction='in') #设置坐标轴刻度的朝向
-
- # 设置 X 和 Y 轴的最小最大值范围,对应的修改数字即可
- plt.xlim(0, 300)
- plt.ylim(0,105)
-
- # 设置坐标轴刻度值显示间隔,对应的修改数字即可
- x_major_locator=MultipleLocator(100)
- y_major_locator=MultipleLocator(25)
-
- # ax为两条坐标轴的实例,这块代码不用管
- ax=plt.gca()
- ax.xaxis.set_major_locator(x_major_locator)
- ax.yaxis.set_major_locator(y_major_locator)
-
-
- ##+++++++++++++++++++++++++++(七)指定图片保存位置、格式、分辨率+++++++++++++++++++++++++++##
- # 保存图片,单引号内表示路径;dpi 后数字表示分辨率,一般取300;最后一个是让图四周的白边更少,不用改动
- plt.savefig(r'C:\Users\Yi_xyf\Desktop\Datasets\dataset-2_time-speed.tiff', dpi=300, bbox_inches='tight')
- # 这个代码每次放在最后即可
- plt.show()
- # -*- coding: utf-8 -*-
- """
- Created on Mon Dec 28 13:47:07 2020
- """
-
- ##+++++++++++++++++++++++++++(一)绘图所需的基础库+++++++++++++++++++++++++++##
- import pandas as pd # 用于处理表格数据
- import numpy as np # 用于科学计算
- import matplotlib.pyplot as plt # 绘图的核心库
- from matplotlib.font_manager import FontProperties # 字体属性管理器,知道就好
-
-
- ##+++++++++++++++++++++++++++(二)导入和准备数据+++++++++++++++++++++++++++##
-
- # 读取CSV文件的数据,替换数据的路径即可,即单引号内的内容
- data = pd.read_csv(r'C:\Users\Administrator\Desktop\dataset-3_raw-smooth.csv')
-
- # 读取数据表中的时间所在列,如果是其他的列,替换单引号内的列名称即可
- rawdata = data['raw']
-
- # 读取速度所在列
- smoothdata = data['smooth']
-
-
- ##+++++++++++++++++++++++++++(三)基本属性设置+++++++++++++++++++++++++++##
- #设置画布的尺寸,单位为英寸,根据最终输出的图像大小调整一下数字
- plt.figure(figsize=(3.2, 2))
-
- # 设置坐标轴标题字体及其大小,修改字体时替换字体的路径即可
- font1 = FontProperties(fname=r"C:\Windows\Fonts\times.TTF", size=8)
-
- # 设置坐标轴刻度字体及其大小
- font2 = FontProperties(fname=r"C:\Windows\Fonts\times.TTF", size=8)
-
- # 设置图例字体
- font3 = FontProperties(fname=r"C:\Windows\Fonts\times.TTF", size=7)
-
- # 设置中文字体显示,如果途中村子中文时,取消改行的注释符号 # 即可正常显示中文
- # plt.rcParams['font.sans-serif']=['STSong']
-
- # 设置坐标轴线条粗细,也就是下面代码中的 cu= 的数值,一般设置为 0.6 左右即可
- ax = plt.subplot(1,1,1)
- cu = 0.6
- ax.spines['left'].set_linewidth(cu)
- ax.spines['right'].set_linewidth(cu)
- ax.spines['bottom'].set_linewidth(cu)
- ax.spines['top'].set_linewidth(cu)
-
-
- ##+++++++++++++++++++++++++++(四)绘图部分+++++++++++++++++++++++++++##
- # 括号内 time,speed 对应的分别是 X 和 Y 值;lw 表示线条的宽度,一般取 0.8;
- # ls 表示线条的风格,- 表示实线,-- 表示虚线,: 表示点虚线,-. 表示点划线;
- # 注意这些符号需要在英文状态下输入,只修改单引号以内的内容,不要删掉单引号
- # c 表示颜色,#FFF000 表示十六进制颜色代码,推荐的两个配色网站均是该类代码,可直接复制粘贴过来
- # 最后的 label 表示该条线的标签,最终会展示在图例中,同样只修改单引号内的内容就可
- plt.plot(rawdata, lw=0.8, ls='--', c='#00a6fb', label='rawdata')
- plt.plot(smoothdata, lw=1.2, ls='-', c='#ef233c', label='smoothdata')
-
-
-
- ##+++++++++++++++++++++++++++(五)坐标轴设置及图像美化+++++++++++++++++++++++++++##
- # 设置坐标轴标题的名字,及其字体类型,我们选择预设的 font1
- plt.xlabel('time (s)', fontproperties=font1)
- plt.ylabel('variable', fontproperties=font1)
-
- # 设置坐标轴刻度字体的类型(样式和大小),我们选择预设的 font2
- plt.xticks(fontproperties=font2)
- plt.yticks(fontproperties=font2)
-
- # 设置图例的位置,loc 后的数字一般取 1、2、3、4,依次表示右上、左上、左下和右下
- # prop 表示字体属性,我们选择预设的 font3;edgecolor 表示图例边框颜色,w 为白色;framealpha 后的数字表示透明度
- # ncol=2 控制图例展示的列数;bbox_to_anchor=(x,y) 控制图例的位置。x 和 y 值为相对于坐标区的比例,依次为左右和上下
- plt.legend(loc=4, prop=font3, edgecolor='w', framealpha=0, ncol=2, bbox_to_anchor=(0.85,1.02))
-
- # 表示开启网格线,注释掉时不显示
- #plt.grid()
-
-
- ##+++++++++++++++++++++++++++(六)设置坐标轴刻度范围及间隔+++++++++++++++++++++++++++##
- #从pyplot导入MultipleLocator类,这个类用于设置刻度间隔
- from matplotlib.pyplot import MultipleLocator
-
- # 设置坐标轴的朝向,in 表示朝内向,反之亦然
- plt.tick_params(direction='in') #设置坐标轴刻度的朝向
-
- # 设置 X 和 Y 轴的最小最大值范围,对应的修改数字即可
- plt.xlim(0, 1000)
- plt.ylim(-60,60)
-
- # 设置坐标轴刻度值显示间隔,对应的修改数字即可
- x_major_locator=MultipleLocator(200)
- y_major_locator=MultipleLocator(20)
-
- # ax为两条坐标轴的实例,这块代码不用管
- ax=plt.gca()
- ax.xaxis.set_major_locator(x_major_locator)
- ax.yaxis.set_major_locator(y_major_locator)
-
-
- ##+++++++++++++++++++++++++++(七)指定图片保存位置、格式、分辨率+++++++++++++++++++++++++++##
- # 保存图片,单引号内表示路径;dpi 后数字表示分辨率,一般取300;最后一个是让图四周的白边更少,不用改动
- plt.savefig(r'C:\Users\Administrator\Desktop\demo.tiff', dpi=300, bbox_inches='tight')
- # 这个代码每次放在最后即可
- plt.show()
-
-
-
-
-
- # -*- coding: utf-8 -*-
- """
- Created on Wed Dec 30 11:53:54 2020
- """
-
- ##+++++++++++++++++++++++++++(一)绘图所需的基础库+++++++++++++++++++++++++++##
- import pandas as pd # 用于处理表格数据
- import numpy as np # 用于科学计算
- import matplotlib.pyplot as plt # 绘图的核心库
- from matplotlib.font_manager import FontProperties # 字体属性管理器,知道就好
-
-
- ##+++++++++++++++++++++++++++(二)导入和准备数据+++++++++++++++++++++++++++##
-
- # 读取CSV文件的数据,替换数据的路径即可,即单引号内的内容
- data = pd.read_csv(r'C:\Users\Administrator\Desktop\dataset-4_temperature_3.csv')
-
- # .iloc[:,0] 表示读取 data 的某行某列,第一个 :表示所有行,0 表示读取第一列,这样就对应的第一列的所有行,注意 Python 是从 0 计数的
- Temp1 = data.iloc[:,0]
- Temp2 = data.iloc[:,1]
- Temp3 = data.iloc[:,2]
-
-
-
- ##+++++++++++++++++++++++++++(三)基本属性设置+++++++++++++++++++++++++++##
- #设置画布的尺寸,单位为英寸,根据最终输出的图像大小调整一下数字
- plt.figure(figsize=(3.2, 2))
-
- # 设置坐标轴标题字体及其大小,修改字体时替换字体的路径即可
- font1 = FontProperties(fname=r"C:\Windows\Fonts\times.TTF", size=8)
-
- # 设置坐标轴刻度字体及其大小
- font2 = FontProperties(fname=r"C:\Windows\Fonts\times.TTF", size=8)
-
- # 设置图例字体
- font3 = FontProperties(fname=r"C:\Windows\Fonts\times.TTF", size=7)
-
- # 设置中文字体显示,如果途中村子中文时,取消改行的注释符号 # 即可正常显示中文
- # plt.rcParams['font.sans-serif']=['STSong']
-
- # 设置坐标轴线条粗细,也就是下面代码中的 cu= 的数值,一般设置为 0.6 左右即可
- ax = plt.subplot(1,1,1)
- cu = 0.6
- ax.spines['left'].set_linewidth(cu)
- ax.spines['right'].set_linewidth(cu)
- ax.spines['bottom'].set_linewidth(cu)
- ax.spines['top'].set_linewidth(cu)
-
-
- ##+++++++++++++++++++++++++++(四)绘图部分+++++++++++++++++++++++++++##
- # bins 表示想要展示直方图的条数;facecolor 表示直方图条的颜色;edgecolor 表示直方图边框的颜色
- # alpha 表示直方图的透明度;histtype 表示将直方图绘制成阶梯图
- plt.hist(Temp1, bins=18, facecolor='#ffbc42', edgecolor='w', lw=1, label='Temp 1')
-
- plt.hist(Temp2, bins=18, edgecolor='#ff0054', alpha=1, histtype='step', lw=1, label='Temp 2', ls='--')
-
- plt.hist(Temp3, bins=18, edgecolor='#003f88', alpha=1, histtype='step', lw=1, label='Temp 2', ls='-')
-
- # 添加科学计数法
- from pylab import *
- # 设置左上角标签大小,里面的数字可以更改科学计数字符的大小
- matplotlib.rcParams.update({'font.size': 8, 'font.family': 'serif'})
- xfmt = ScalarFormatter(useMathText=True)
- xfmt.set_powerlimits((0, 0))
- ax = plt.gca()
- ax.yaxis.set_major_formatter(xfmt) # 在 Y 轴展示科学计数法
-
-
- ##+++++++++++++++++++++++++++(五)坐标轴设置及图像美化+++++++++++++++++++++++++++##
- # 设置坐标轴标题的名字,及其字体类型,我们选择预设的 font1
- plt.xlabel('temperature', fontproperties=font1)
- plt.ylabel('Frequency', fontproperties=font1)
-
- # 设置坐标轴刻度字体的类型(样式和大小),我们选择预设的 font2
- plt.xticks(fontproperties=font2)
- plt.yticks(fontproperties=font2)
-
- # 设置图例的位置,loc 后的数字一般取 1、2、3、4,依次表示右上、左上、左下和右下
- # prop 表示字体属性,我们选择预设的 font3;edgecolor 表示图例边框颜色,w 为白色;framealpha 后的数字表示透明度
- plt.legend(loc=1, prop=font3, edgecolor='w', framealpha=0) # bbox_to_anchor=(1,0.5) 控制图例的位置
-
- # 表示开启网格线,注释掉时不显示
- #plt.grid()
-
-
- ##+++++++++++++++++++++++++++(六)设置坐标轴刻度范围及间隔+++++++++++++++++++++++++++##
- #从pyplot导入MultipleLocator类,这个类用于设置刻度间隔
- from matplotlib.pyplot import MultipleLocator
-
- # 设置坐标轴的朝向,in 表示朝内向,反之亦然
- plt.tick_params(direction='in') #设置坐标轴刻度的朝向
-
- # 设置 X 和 Y 轴的最小最大值范围,对应的修改数字即可
- plt.xlim(-30, 30)
- plt.ylim(0,130000)
-
- # 设置坐标轴刻度值显示间隔,对应的修改数字即可
- x_major_locator=MultipleLocator(10)
- y_major_locator=MultipleLocator(30000)
-
- # ax为两条坐标轴的实例,这块代码不用管
- ax=plt.gca()
- ax.xaxis.set_major_locator(x_major_locator)
- ax.yaxis.set_major_locator(y_major_locator)
-
-
- ##+++++++++++++++++++++++++++(七)指定图片保存位置、格式、分辨率+++++++++++++++++++++++++++##
- # 保存图片,单引号内表示路径;dpi 后数字表示分辨率,一般取300;最后一个是让图四周的白边更少,不用改动
- plt.savefig(r'C:\Users\Administrator\Desktop\demo.tiff', dpi=300, bbox_inches='tight')
- # 这个代码每次放在最后即可
- plt.show()
-
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。