首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用matplotlib使用

使用matplotlib使用
EN

Stack Overflow用户
提问于 2018-08-15 21:22:33
回答 1查看 652关注 0票数 0

我试图用python中的matplotlib并排绘制两个甜甜圈图表。

首先,我使用以下逻辑创建甜甜圈图:

  1. 创建一个简单的饼图;
  2. 使用add_axes函数为图表选择一个位置;
  3. 添加一个补丁(白色圆圈使它看起来像甜甜圈图);
  4. 在屏幕上并排显示图表。 fig= plt.figure() circle1 = plt.Circle((0,0),radius= .7,radius= =‘white’) ax1= fig.add_axes(0,1,1,aspect=1) ax1.饼(x=值,labels= KA,startangle=30,radius=1.2) ax1.add_patch(circle1) circle2 =plt.Circle(0,0),circle2=‘white’)=(1,0,1,1,)轴2.饼(,)()()

当它运行函数plt.show()时,它只显示第一个甜甜圈图,并有一个很强的放大.

让我抓狂的是,如果我运行以下函数:plt.savefig('testplot.png',bbox_inches='tight'),它会像我想要的那样保存一个png文件.

我怎样才能在plt.show()上做到这一点

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-15 21:30:10

在图形之外创建第二个轴。这两个方向的数字从0到1不等。如果你在位置1开始你的第二个轴,它会从1转到2,这是在所示的图形之外。

要么使用子图

代码语言:javascript
运行
复制
fig, (ax1, ax2) = plt.subplots(subplot_kw={"aspect" : 1})

或者在图形边界内创建轴,

代码语言:javascript
运行
复制
ax1 = fig.add_axes([0,0,0.45,1], aspect=1)
ax2 = fig.add_axes([0.55,0,0.45,1], aspect=1)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51866626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档