导入模块:from matplotlib import pyplot as plt
设置图片大小:plt.figure(figsize=(20,8),dpi=80)
绘制网格:plt.grid(alpha=0.4) #alpha表示透明度
设置x轴、y轴的刻度:
plt.xticks(rang(2,25))
x_labels = [i/2 for i in range(2,49)]
plt.xticks(x_labels,rotation=90) #rotation表示旋转的角度
plt.xticks(x_labels[::3])
plt.yticks(range(min(y),max(y)+1)
添加描述信息:
plt.xlabel('time',fontproperties=my_font)
plt.ylabel('freq',,fontproperties=my_font)
添加图例:
plt.legend(prop=my_font, loc=upper_right) #loc参数为图例位置
展示图片:plt.show()
保存图片:plt.savefig('.figure.png')
绘图:
x = range(2,26,2)
y = [1,3,5,6,7,8,9,10,12,13,15,16)
plt.plot(x,y)
绘制多条线:
plt.plot(x,y_1,label='line_1',color='r',linestyle='--',linewidth=5,alpha=0.5)
plt.plot(x,y_2,label='line_2',color='b',linestyle=':',linewidth=5,alpha=0.5)
绘制散点图:plt.scatter(x,y)
绘制条形图:
plt.bar(x,y) #竖着
plt.barh(x,y) #横着
绘制直方图:
plt.hist(a,num_bins) #传入需要统计的数据以及组数即可,组数=(最大值-最小值)/组距
plt.xticks(range(min(a),max(a)+d,d)
绘制频率分布直方图:
plt.hist(a,num_bins,normal=True)
subplot()函数允许在同一图中绘制不同的东西
plt.subplot(3,4,1) #激活第一个subplot,3是高,4是宽
plt.subplot(3,4,2) #激活第二个subplot
注意点:
matplotlib默认不支持中文字符,因此默认的英文字符无法显示汉字
查看linux/mac下面支持的字体:
fc_list #查看支持的字体
fc_list :lang=zh #查看支持的中文(冒号前面有空格)
通过matplotlib.rc可以修改,具体方法参见源码(windows/linux)
通过matplotlib下的font_manager可以解决(windows/linux/mac)
my_font = font_manager.FontProperties(fnames='路径')