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

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

import matplotlib.pyplot as plt
import numpy as np

x_axis_data = [1,2,3,4,5,6,7] #x
y_axis_data = [68,69,79,71,80,70,66] #y

plt.plot(x_axis_data, y_axis_data, 'b*--', alpha=0.5, linewidth=1, label='acc')#'bo-'表示蓝色实线,数据点实心原点标注
## plot中参数的含义分别是横轴值,纵轴值,线的形状('s'方块,'o'实心圆点,'*'五角星   ...,颜色,透明度,线的宽度和标签 ,

plt.legend()  #显示上面的label
plt.xlabel('time') #x_label
plt.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 plt
import numpy as np

x_axis_data = [1,2,3,4,5,6,7] #x
y_axis_data = [68,69,79,71,80,70,66] #y

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加标签数据
    
plt.plot(x_axis_data, y_axis_data, 'b*--', alpha=0.5, linewidth=1, label='acc')#'bo-'表示蓝色实线,数据点实心原点标注
## plot中参数的含义分别是横轴值,纵轴值,线的形状('s'方块,'o'实心圆点,'*'五角星   ...,颜色,透明度,线的宽度和标签 ,

plt.legend()  #显示上面的label
plt.xlabel('time') #x_label
plt.ylabel('number')#y_label
 
#plt.ylim(-1,1)#仅设置y轴坐标范围
plt.show()

在这里插入图片描述

3、画多条折线图:

import matplotlib.pyplot as plt
import numpy as np
 
#epoch,acc,loss,val_acc,val_loss
x_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()  #显示上面的label
plt.xlabel('time')
plt.ylabel('number')#accuracy
 
#plt.ylim(-1,1)#仅设置y轴坐标范围
plt.show()

运行,得到:
在这里插入图片描述
4、画多条折线图分别带数据标签:

import matplotlib.pyplot as plt
import numpy as np
 
#epoch,acc,loss,val_acc,val_loss
x_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()  #显示上面的label


plt.xlabel('time')
plt.ylabel('number')#accuracy
 
#plt.ylim(-1,1)#仅设置y轴坐标范围
plt.show()

运行,得到:
在这里插入图片描述

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

‘s’ : 方块状
‘o’ : 实心圆
‘^’ : 正三角形
‘v’ : 反正三角形
‘+’ : 加好
‘*’ : 星号
‘x’ : x号
‘p’ : 五角星
‘1’ : 三脚架标记
‘2’ : 三脚架标记

  • 138
    点赞
  • 672
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值