python用matplotlib画折线图

烈酒焚心 提交于 2020-03-07 02:14:23

1、

from matplotlib import pyplot as plt
x=range(2,26,2)
y=[15,13,14.5,17,20,25,26,26,24,]22,18,15


fig=plt.figure(figsize=(20,8),dpi=80)#设置图片大小
plt.plot(x,y)
#plt.xticks(x)#设置x轴刻度plt.xticks(range(2,26,1))

#精细设置刻度
_xtick_labels=[i/2 for i in range(4,49)]
#plt.xticks(_xtick_labels)#全取
plt.xticks(_xtick_labels[::3])#每隔3取一个
#plt.savefig("./t1.png")#保存图片

plt.yticks(range(min(y),max(y)+1))#y轴设置最大最小
plt.show()

 

2、

from matplotlib import pyplot as plt
import random
import matplotlib
#画10点到12点的气温变化图
x=range(0,120)
y=[random.randint(20,35) for i in range(120)]


plt.figure(figsize=(20,8),dpi=80)
plt.plot(x,y)

# #设置中文显示,windows和linux可以
# font={'family':'MicroSoft YaHei',
#      'weight':'bold'}

# matplotlib.rc("font",**font)

#中文显示windows、linux和mac都可以
my_font=matplotlib.font_manager.FontProperties(fname="C:\WINDOWS\FONTS\SIMSUN.TTC")#fname为电脑字体路径,windows直接搜索字体可以看到路径
#linux/mac可以  fc-list查看支持字体    fc-list :lang=zh查看支持的中文

#调整x轴参数
_x=list(x)
_xtick_labels=["10点{}分".format(i) for i in range(60)]
_xtick_labels +=["11点{}分".format(i) for i in range(60)]
#取步长,数字和字符串一一对应
plt.xticks(_x[::3],_xtick_labels[::3],rotation=-90,fontproperties=my_font)#rotation为旋转度数


#添加描述信息
plt.xlabel("时间",fontproperties=my_font)
plt.ylabel("温度 单位",fontproperties=my_font)
plt.title("10点到12点每分钟的气温变化情况图",fontproperties=my_font)
plt.show()

 

 

3、

#11到30岁
from matplotlib import pyplot as plt
from matplotlib import font_manager

y_1=[1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
y_2=[1,0,3,1,2,2,3,3,2,1,2,1,1,1,1,1,1,1,1,1]
x=range(11,31)



plt.figure(figsize=(20,8),dpi=80)
plt.plot(x,y_1,label="自己",color="orange",linestyle=':')
plt.plot(x,y_2,label="同桌",color="cyan",linestyle="-.")
#设置x轴刻度
_xtick_labels=["{}岁".format(i) for i in x]
my_font=matplotlib.font_manager.FontProperties(fname="C:\WINDOWS\FONTS\SIMSUN.TTC")#fname为电脑字体路径,windows直接搜索字体可以看到路径
plt.xticks(x,_xtick_labels,rotation=45,fontproperties=my_font)
plt.yticks(range(0,9))

#绘制网格
plt.grid(alpha=0.4)#alpha表示网格透明度

#添加图例
plt.legend(prop=my_font,loc="upper left")#只有这里中文显示是prop
plt.show()

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!