收集各种技巧、解决问题的办法。不断加深理解、熟悉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
决定内容多少。