ZCQ
最流行的python底层绘图库,主要做数据可视化图表,名字取材于MATLAB,
模仿MATLAB的构建
示例1,基本操作:
from matplotlib import pyplot as plt
x=range(2,26,2)
y=[15,14,13,12,23,14,12,18,19,10,12,23]
x_label=[i/2 for i in range(4,49)]
#设置x轴的刻度:
plt.plot(x,y)
plt.xticks(x_label[::4])#觉得太密集可以取步长
#设置y轴的刻度
plt.yticks(range(min(y),max(y)+1)[::2])
#设置图片大小及清晰度
plt.figure(figsize=(80,20),dpi=123)
#保存为svg这种矢量图格式,放大不会有锯齿:
#plt.savefig("./sig_size.png")
plt.show()
运行结果:
示例2,显示从10点、11点温度变化的图表
from matplotlib import pyplot as plt
from
import random
x=range(0,120)
y=[random.randint(20,35)for i in range(120)]
plt.figure(figsize=(20,9),dpi=80)
plt.plot(x,y)
#调整x轴的刻度
_xtick_labels=["10点{}分".format(x) for x in range(60)]
_xtick_labels+=["11点{}分".format(x) for x in range(60)]
plt.xticks(list(x)[::3],_xtick_labels[::3],rotation=45)
plt.show()
我们观察到,x轴的中文无法显示,下面解决中文无法显示的问题
在matplotlib中设置显示中文
打开设置,搜索字体,找到中文字体
找到一种中文字体的位置,如下:
将原来的代码做如下3种修改,并添加标题:
from matplotlib import pyplot as plt
import random
import matplotlib
from matplotlib import font_manager#修改1
my_font=font_manager.FontProperties(fname="C:\WINDOWS\FONTS\MSYHL.TTC")#修改2
x=range(0,120)
y=[random.randint(20,35)for i in range(120)]
plt.figure(figsize=(20,9),dpi=80)
plt.plot(x,y)
#调整x轴的刻度
_xtick_labels=["10点{}分".format(x) for x in range(60)]
_xtick_labels+=["11点{}分".format(x) for x in range(60)]
plt.xticks(list(x)[::3],_xtick_labels[::3],rotation=45,fontproperties=my_font)#修改3
#添加描述信息
plt.xlabel("时间",fontproperties=my_font)
plt.ylabel("温度 单位/(℃)",fontproperties=my_font)
plt.title("10点到12点每分钟气温变化情况",fontproperties=my_font)
plt.show()
可以看到x轴的汉字可以显示了!