如何用python的matplotlib函数画折线图

import matplotlib.pyplot as plt
#设置默认字体,选择支持中文的字体以避免出现中文乱码情况
plt.rcParams['font.sans-serif'] = ['NSimSun']
from matplotlib.ticker import MultipleLocator, FormatStrFormatter
lst_temp3=[0.0377, 0.0069,0.0042,0.0038,0.0034,0.0031,0.0029,0.0027,0.0025,0.0025]
lst_temp10=[0.0109,0.0053,0.0040,0.0052,0.0038,0.0032,0.0043,0.0031,0.0024,0.0030]
input_values=[1,2,3,4,5,6,7,8,9,10]
fig,ax= plt.subplots() #fig表示整张图片,ax表示图片中的各个图表
ax.set_title("Training and validation loss ",fontsize=15) #文章标题
ax.set_xlabel("epochs",fontsize=14)#横坐标标签
ax.set_ylabel("loss",fontsize=14)#纵坐标标签
ax.plot(input_values,lst_temp3,linewidth=1,marker='*',label=u'Training loss')#横坐标数据+纵坐标数据+图例
ax.plot(input_values,lst_temp10,marker='o',label=u'Validation loss')
 
plt.legend() # 让图例生效
# 添加网格线
# plt.grid(True,alpha = 0.5,axis = 'both',linestyle = ':')
plt.show()

添加网格那一行可以不加,加了之后图的背景就会有网格线,上面的程序运行结果如下

可以看见的是虽然有结果,但是X轴和Y轴没有原点坐标,这个时候就需要加两行代码了,在横坐标和纵坐标下面那里加,设置X,Y的范围,

import matplotlib.pyplot as plt
#设置默认字体,选择支持中文的字体以避免出现中文乱码情况
plt.rcParams['font.sans-serif'] = ['NSimSun']
from matplotlib.ticker import MultipleLocator, FormatStrFormatter
lst_temp3=[0.0377, 0.0069,0.0042,0.0038,0.0034,0.0031,0.0029,0.0027,0.0025,0.0025]
lst_temp10=[0.0109,0.0053,0.0040,0.0052,0.0038,0.0032,0.0043,0.0031,0.0024,0.0030]
input_values=[1,2,3,4,5,6,7,8,9,10]
fig,ax= plt.subplots() #fig表示整张图片,ax表示图片中的各个图表
ax.set_title("Training and validation loss ",fontsize=15) #文章标题
ax.set_xlabel("epochs",fontsize=14)#横坐标标签
ax.set_ylabel("loss",fontsize=14)#纵坐标标签

plt.xlim((0,10.5))#x的范围是(0,10.5)
plt.ylim((0,0.04))#y的范围是(0,0.04)
ax.plot(input_values,lst_temp3,linewidth=1,marker='*',label=u'Training loss')#横坐标数据+纵坐标数据+图例
ax.plot(input_values,lst_temp10,marker='o',label=u'Validation loss')
 
plt.legend() # 让图例生效
# 添加网格线
# plt.grid(True,alpha = 0.5,axis = 'both',linestyle = ':')
plt.show()

 运行结果如下

纵坐标的刻度它会自动调整,但是影响不太大,只要把范围调整好了就没什么问题。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值