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)