python图表绘制。
官网:Examples — Matplotlib 3.5.0 documentation
安装
conda install -y matplotlib
折线图
简单使用
from matplotlib import pyplot as plt
x = range(2, 26, 2)
y = [15, 13, 14, 5, 17, 20, 25, 26, 27, 22, 18, 15]
# 颜色:color='r' yellow等
# 线条风格:linestyle='--'
# 线条粗细:linewidth=5
# 透明度 alpha=0.5
plt.plot(x, y)
# 展示图形
plt.show()
效果:
图片大小
代码:
# 设置大小
plt.figure(figsize=(20, 8), dpi=80)
效果:
xy轴
代码
# xy轴显示的刻度,可以不设置
plt.xticks(range(2, 25))
plt.yticks(y)
效果:
保存图片
# 保存 supported formats: eps, pdf, pgf, png, ps, raw, rgba, svg, svgz
plt.savefig("./fig.png")
中文和标题
支持windows和linux的字体设置
font = {
'family': 'MicroSoft YaHei',
'weight': 'bold',
'size': 'larger'
}
plt.rc('font', **font)
全平台的字体设置
from matplotlib import font_manager
# fc-list可以查看字体,设置后可以支持中文
my_font = font_manager.FontProperties(fname="/Library/Fonts/Songti.ttc")
# 取步长,数字和字符串一一对应
plt.xticks(list(x)[::3], _xtick_labels[::3], rotation=45, fontproperties=my_font)
# x,y和标题
plt.xlabel("时间", fontproperties=my_font)
plt.ylabel("温度,单位(°C)", fontproperties=my_font)
plt.title("10点到12点气温变化", fontproperties=my_font)
效果:
网格
代码:
# 绘制网格,alpha透明度
plt.grid(alpha=0.4)
效果:
图例
代码:
from matplotlib import pyplot as plt
from matplotlib import font_manager
my_font = font_manager.FontProperties(fname="/Library/Fonts/Songti.ttc")
x = range(2, 26, 2)
y = [15, 13, 14, 5, 17, 20, 25, 26, 27, 22, 18, 15]
y2 = [15, 13, 15, 6, 13, 20, 38, 26, 22, 22, 11, 15]
# 设置大小
plt.figure(figsize=(20, 8), dpi=80)
# 绘图
plt.plot(x, y, label="自己")
plt.plot(x, y2, label="同桌")
# 图例
plt.legend(prop=my_font)
# 展示图形
plt.show()
效果: