Matplotlib 示例输出与网站显着不同

Matplotlib example output significantly differs from website

当我 运行 我的计算机上的 Matplotlib api example code: radar_chart.py 输出与 Matplotlib 网站上的结果在关键点上有所不同。零值(其中有很多)没有达到 Matplotlib 网站上图表的原点,请参阅 link 处的图表。当我 运行 在我自己的计算机上使用完全相同的代码时,零值确实到达了原点。见下图。与 Matplotlib 网站上的图表相比,这会导致图表不那么流畅和可读,但这并不是人们所期望的。谁能告诉我为什么存在这种差异?

造成这种差异的原因是链接示例是使用 matplotlib 2.0 生成的,而在您的计算机上 运行 <= 1.5.
查看matplotlib页面上的old example可以观察到

这种差异是由于 axes margins 在 matplotlib 1.5 中设置为 0 而在 matplotlib 2.0 中设置为 0.05。 有几种设置边距的方法,一种是 plt.margins(x=0.05, y=0.05)

由于此处您希望所有轴具有相同的边距,因此一种简单的方法是使用 rc params。添加

plt.rcParams['axes.xmargin'] = 0.05
plt.rcParams['axes.ymargin'] = 0.05

在脚本顶部,会将边距设置为 matplotlib 2.0 中默认使用的值。当然,您可以尝试使用它们,看看哪些值最适合您的需求。