我正在尝试在python中使用matplotlib并排绘制两个甜甜圈图。
首先,我使用以下逻辑创建甜甜圈图:
add_axes
函数为图表选择一个位置; 在屏幕上显示并排图表。
fig= plt.figure()
circle1 = plt.Circle((0,0), radius= .7 ,color='white')
ax1= fig.add_axes([0,0,1,1],aspect=1)
ax1.pie(x= values, labels= KA, startangle=30,radius=1.2)
ax1.add_patch(circle1)
circle2 = plt.Circle((0,0), radius= .7 ,color='white')
ax2 = fig.add_axes([1,0,1,1],aspect=1)
ax2.pie(x=values2, explode=explode, labels=KA2,startangle=30,radius=1.2)
ax2.add_patch(circle2)
plt.show()
当运行功能plt.show()
时,它仅显示第一个甜甜圈图,并具有非常大的缩放比例...
让我抓狂的是事实,如果我运行以下功能:
plt.savefig('testplot.png',bbox_inches='tight')
就像我想要的那样保存了png文件...
如何在plt.show()
答案 0 :(得分:1)
在图形外部创建第二个轴。该图在两个方向上从0变为1。如果将第二个轴从位置1开始,它将从1变到2,这在显示的图形之外。
要么使用子图
fig, (ax1, ax2) = plt.subplots(subplot_kw={"aspect" : 1})
或在图形边界内创建轴,
ax1 = fig.add_axes([0,0,0.45,1], aspect=1)
ax2 = fig.add_axes([0.55,0,0.45,1], aspect=1)