收集各种技巧、解决问题的办法。不断加深理解、熟悉matplotlib的使用。
中文
查看支持的中文字体
运行如下代码
1 | from matplotlib.font_manager import FontManager |
尝试发现matplotlib自带了一个可以显示中文的字体Arial Unicode MS。于是可以如下设置,不用下载字体,不用修改matplotlib配置文件。
1 | from matplotlib import rcParams |
搞定中文乱码!
Figure
设置图片大小
px(pixel), inch, pt(point)三者之间的关系为
1 | 1 px = constant size on screen |
Figure size (figsize) 决定figure的尺寸,单位为inches。默认大小为[6.4, 4.8]。
Dots per inches (dpi) 决定figure包含多少像素。默认大小为100。设置为figsize=(w,h)的figure包含
1 | px, py = w * dpi, h * dpi # pixels |
因此若要获得例如(1200, 600)大小的figure,单位为pixel,可以有各种不同的组合方式
1 | figsize = (15. 7.5), dpi = 80 |
以上组合方式的不同之处在哪里?
差异在图形中线条、文字的粗细不同。figure中大多数元素如线条、标记、文本的size的单位为points。Matplotlib设置 Points per inch (ppi) 等于72。因此无论 dpi 等于多少,一英寸只画72个点。或者说 dpi 决定线条粗细,figsize决定内容多少。








