如何在matplotlib中绘制非平方形状的圆形饼图

6 投票
1 回答
2959 浏览
提问于 2025-04-17 07:54

我想在一个矩形的图形里画一个圆形的饼图。目前我使用的代码是这样的:

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。在你的情况下,这可能是最好的选择。

撰写回答