认真是我们
参与这个社会的方式

Matplotlib基础

1

from matplotlib import pyplot as plt
#导入

x = range(2,26,2)
y = [15,13,14.5,17,20,25,26,26,27,22,18,15]
#分别定义了X,Y坐标

#设置图片大小,实例化figure之后会自动使用
plt.figure(figsize=(20,8),dpi=80)

#绘图
plt.plot(x,y)

#设置x轴的刻度
_xtick_labels = [i/2 for i in range(4,49)]
#这里用列表生成式生成了一个步长0.5,从2到24的横坐标,可以传入下面的plt.xticks()中

plt.xticks(range(25,50))
#从25画到49,步长默认为1

#plt.xticks(x[::2])
#切片,每2个取一个

plt.yticks(range(min(y),max(y)+1))
#纵坐标刻度用min()和max()分别取最大和最小
#保存
# plt.savefig("./t1.png")

#展示图形
plt.show()

 

2

x = range(0,120)
#随机在20至35之间取119个值
y = [random.randint(20,35) for i in range(120)]

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

 

3.显示中文

通过matplotlib.rc可以修改,具体方法参见源码(windows/linux)
通过matplotlib 下的font_manager可以解决(windows/linux/mac)

 

有两种显示方法,在matplotlib.rc中修改设置或引入font_manager然后定义自己的字体。

查看linux/mac下面支持的字体:
fc-list #查看支持的字体
fc-list :lang=zh #查看支持的中文(冒号前面有空格)

demo

#windws和linux设置字体的放
# font = {'family' : 'MicroSoft YaHei',
#         'weight': 'bold',
#         'size': 'larger'}
# matplotlib.rc("font",**font)
# matplotlib.rc("font",family='MicroSoft YaHei',weight="bold")

#另外一种设置字体的方式
my_font = font_manager.FontProperties(fname="/System/Library/Fonts/PingFang.ttc")
#通过fontproperties参数传入
plt.xticks(list(x)[::3],_xtick_labels[::3],rotation=45,fontproperties=my_font)

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

 

 

没有故事 也没有酒

点也没用点也没用