我正在比较一组关于伦敦实施的新罚款的推文,该罚款适用于污染严重的车辆。我想比较一下有多少推文提到了与交通有关的词,有多少提到了与污染有关的词。
我使用维恩图来做这件事,但理想情况下,我希望重叠的圆圈都包含在代表所有tweet的整个集合的大圆圈中。
这里有一个我想说的例子(对不起,我还没有发布图片的名声)
(https://media1.britannica.com/eb-media/79/63279-004-ED30922B.gif)
我目前正在使用matplotlib-venn。
非常感谢。
发布于 2017-12-27 10:48:04
啊,所以你需要做的就是将整个集合之外的任何部分的值都设置为0。请参阅此处改编自文档示例的代码:
my_sets =(0,0,0,4,5,6,7)
my_labels = ["Traffic","Pollution","All Tweets"]
plt.figure(figsize=(4,4))
v = venn3(subsets= my_sets, set_labels = my_labels)
c = venn3_circles(subsets= my_sets, linestyle='dashed')
plt.show()发布于 2017-12-27 22:17:00
一种可能性是在整个图表周围手动添加一个新的圆(假设它不需要任何特定的精确度量,而只是作为宇宙的粗略指示器)。例如:
from matplotlib_venn import venn3
from matplotlib import pyplot as plt
venn3((1,2,3,4,5,6,7))
from matplotlib.patches import Circle
plt.gca().add_patch(Circle([0,0], 1, fill=False, ec='k'))
plt.xlim(-1.05,1.05)
plt.ylim(-1.05,1.05)
plt.text(0.8, 0.8, 'Universe', fontsize=20)https://stackoverflow.com/questions/47985623
复制相似问题