300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 使用python代码画折线图【matplotlib】

使用python代码画折线图【matplotlib】

时间:2022-05-31 12:05:30

相关推荐

使用python代码画折线图【matplotlib】

1、画折线图【一条示例】

import matplotlib.pyplot as pltimport numpy as npx_axis_data = [1,2,3,4,5,6,7] #xy_axis_data = [68,69,79,71,80,70,66] #yplt.plot(x_axis_data, y_axis_data, 'b*--', alpha=0.5, linewidth=1, label='acc')#'bo-'表示蓝色实线,数据点实心原点标注## plot中参数的含义分别是横轴值,纵轴值,线的形状('s'方块,'o'实心圆点,'*'五角星 ...,颜色,透明度,线的宽度和标签 ,plt.legend() #显示上面的labelplt.xlabel('time') #x_labelplt.ylabel('number')#y_label#plt.ylim(-1,1)#仅设置y轴坐标范围plt.show()

运行,得到:

2、画折线图带数据标签

在画线代码之前加入这句代码:

for x, y in zip(x_axis_data, y_axis_data):plt.text(x, y+0.3, '%.00f' % y, ha='center', va='bottom', fontsize=7.5)#y_axis_data1加标签数据

总体代码如下:

import matplotlib.pyplot as pltimport numpy as npx_axis_data = [1,2,3,4,5,6,7] #xy_axis_data = [68,69,79,71,80,70,66] #yfor x, y in zip(x_axis_data, y_axis_data):plt.text(x, y+0.3, '%.00f' % y, ha='center', va='bottom', fontsize=7.5)#y_axis_data1加标签数据plt.plot(x_axis_data, y_axis_data, 'b*--', alpha=0.5, linewidth=1, label='acc')#'bo-'表示蓝色实线,数据点实心原点标注## plot中参数的含义分别是横轴值,纵轴值,线的形状('s'方块,'o'实心圆点,'*'五角星 ...,颜色,透明度,线的宽度和标签 ,plt.legend() #显示上面的labelplt.xlabel('time') #x_labelplt.ylabel('number')#y_label#plt.ylim(-1,1)#仅设置y轴坐标范围plt.show()

3、画多条折线图:

import matplotlib.pyplot as pltimport numpy as np#epoch,acc,loss,val_acc,val_lossx_axis_data = [1,2,3,4,5,6,7]y_axis_data1 = [68.72,69.17,69.26,69.63,69.35,70.3,66.8]y_axis_data2 = [71,73,52,66,74,82,71]y_axis_data3 = [82,83,82,76,84,92,81]#画图 plt.plot(x_axis_data, y_axis_data1, 'b*--', alpha=0.5, linewidth=1, label='acc')#'plt.plot(x_axis_data, y_axis_data2, 'rs--', alpha=0.5, linewidth=1, label='acc')plt.plot(x_axis_data, y_axis_data3, 'go--', alpha=0.5, linewidth=1, label='acc')plt.legend() #显示上面的labelplt.xlabel('time')plt.ylabel('number')#accuracy#plt.ylim(-1,1)#仅设置y轴坐标范围plt.show()

运行,得到:

4、画多条折线图分别带数据标签:

import matplotlib.pyplot as pltimport numpy as np#epoch,acc,loss,val_acc,val_lossx_axis_data = [1,2,3,4,5,6,7]y_axis_data1 = [68.72,69.17,69.26,69.63,69.35,70.3,66.8]y_axis_data2 = [71,73,52,66,74,82,71]y_axis_data3 = [82,83,82,76,84,92,81]#画图 plt.plot(x_axis_data, y_axis_data1, 'b*--', alpha=0.5, linewidth=1, label='acc')#'plt.plot(x_axis_data, y_axis_data2, 'rs--', alpha=0.5, linewidth=1, label='acc')plt.plot(x_axis_data, y_axis_data3, 'go--', alpha=0.5, linewidth=1, label='acc')## 设置数据标签位置及大小for a, b in zip(x_axis_data, y_axis_data1):plt.text(a, b, str(b), ha='center', va='bottom', fontsize=8) # ha='center', va='top'for a, b1 in zip(x_axis_data, y_axis_data2):plt.text(a, b1, str(b1), ha='center', va='bottom', fontsize=8) for a, b2 in zip(x_axis_data, y_axis_data3):plt.text(a, b2, str(b2), ha='center', va='bottom', fontsize=8)plt.legend() #显示上面的labelplt.xlabel('time')plt.ylabel('number')#accuracy#plt.ylim(-1,1)#仅设置y轴坐标范围plt.show()

运行,得到:

附上形状,可与颜色搭配:

‘s’ : 方块状

‘o’ : 实心圆

‘^’ : 正三角形

‘v’ : 反正三角形

‘+’ : 加好

‘*’ : 星号

‘x’ : x号

‘p’ : 五角星

‘1’ : 三脚架标记

‘2’ : 三脚架标记

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。