首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >改变后用木星绘制Venn图(matplotlib-venn)

改变后用木星绘制Venn图(matplotlib-venn)
EN

Stack Overflow用户
提问于 2017-06-06 09:28:33
回答 2查看 3.2K关注 0票数 1

通过遵循matplotlib-venn自述中的命令,我可以生成示例中的初始情节。但是,当我更改Venn图(标签文本等)的设置时,我想不出如何重新绘制这个数字。跑步:

代码语言:javascript
复制
%matplotlib inline
from matplotlib_venn import venn3
v = venn3([set1, set2, set3], ('Set1', 'Set2', 'Set3'))

给出内嵌的Venn图。然后,我继续更改标签。

代码语言:javascript
复制
v.get_label_by_id('100').set_text('Arbitrary1')

但我不能再重新描绘这个数字。我试过了

代码语言:javascript
复制
# from matplotlib import pyplot as plt
plt.plot()
plt.plot(v)
v
v()

但我真的在黑暗中感觉到了。我觉得我缺少关于%matplotlibmatplotlib绘图函数的一些非常基本的东西,但是我还没有在网上找到答案。

我怎么再用木星来描绘这个数字呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-06 10:34:11

如果您使用fig=plt.figure()存储对图形实例的引用,那么您将可以在未来的笔记本单元格中访问该图形。如果不这样做,那么就无法访问新单元格中的现有数字。

因此,在设置标签之后,只需在之后再次编写fig以再次显示该图形。

下面是一个有用的例子:

第1室:

代码语言:javascript
复制
%matplotlib inline
from matplotlib_venn import venn3
import matplotlib.pyplot as plt
fig = plt.figure()
set1 = set(['A', 'B', 'C'])
set2 = set(['A', 'D', 'E'])
set3 = set(['A', 'F', 'B'])

v = venn3([set1, set2, set3], ('Set1', 'Set2', 'Set3'))

第2室:

代码语言:javascript
复制
v.get_label_by_id('100').set_text('Arbitrary1')
fig

票数 7
EN

Stack Overflow用户

发布于 2017-06-06 11:14:56

在对jupyter单元格进行评估之后,的状态就会丢失。因此,在一个新的单元格中,pyplot不知道先前创建的图形。

解决方案是在离开单元格之前获得对该数字的引用。这要么是由

  • 向变量fig=plt.figure()
  • 将图形存储在单元格末尾的变量中,fig = plt.gcf()

在这两种情况下,只需键入fig,就可以在以后的单元格中显示一个图形对象。由于这是在jupyter笔记本中使用matplotlib的通用方法,下面的示例不考虑venn图。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44386240

复制
相关文章

相似问题

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