如何在matplotlib中绘制非平方形状的圆形饼图
我想在一个矩形的图形里画一个圆形的饼图。目前我使用的代码是这样的:
fig = plt.figure(figsize=figsize, dpi=inch)
# plot actually
ax = fig.add_subplot(1, 1, 1)
ax.pie(value_list, labels=labels_list, **kwargs)
plt.savefig(plt_pathname)
plt.close()
如果这个 figsize
不是正方形的(比如说 [4, 4]
),那么最后得到的图形就会被拉伸成椭圆形。请问我该怎么解决这个问题呢?
1 个回答
16
只需要使用 ax.set_aspect(1)
或者 ax.axis('equal')
。 (或者 plt.axis('equal')
)
ax.axis('equal')
还会把 x 轴和 y 轴的范围设置成一样,同时把图的比例设置为 1。在你的情况下,这可能是最好的选择。