matplotlib¶
matplotlib 是一个用于 科学计算绘图 的 Python 包,功能非常强大,堪比 Matlab ! 开始前,先通过几张图来感受一下:
快速开始¶
饼状图应该是最简单的统计图表了,用以介绍 matplotlib 画图方式最为合适。 数据准备就绪,生成饼状图只需若干行代码:
第 4-5 行,为待渲染数据,包括 数值 以及 标签 ; 第 7 行,定义渲染 颜色 ; 第 9-14 行,配置饼图,包括数值、标签、颜色以及百分比展示; 第 16 行,为图表追加 标题 ; 第 18 行,将图表展示出来。
运行程序后,画出的图表效果如下:
字体¶
在编程世界,中文一直是个麻烦事。 不折腾一番, matplotlib 是不能渲染中文文本的。
让 matplotlib 支持中文 的方式有不少,接下来介绍一种最简单的: 准备好字体文件,为文本定义 FontProperties 并设置。 除了指定 字体 , FontProperties 还支持 字号 、 粗细 、 斜体 、 下划线 等属性设置。
程序第 11-15 行加载字体文件,并设置字号; 第 17-18 行在第一个标签字体基础上设置新字号,作为标题字体, 第 33-34 行为 4 个标签分别设置字体; 第 36 行指定标题,同时设置标题字体。
运行程序后,画出的图表效果如下:
Note
Github 上有个项目提供一些字体文件,以供测试: dolbydu/font 。
保存图片¶
将图表保存成文件,只需调用 savefig 方法。保存为 PNG 图片:
plt.savefig('foo.png')
文件格式由文件后缀名决定,另存为 PDF 文件:
plt.savefig('foo.pdf')
如果仅需获取保存文件内容,则可借助 BytesIO :
import io
bio = io.BytesIO()
plt.savefig(bio, format='png')
bio.seek(0)
content = bio.read()