2

我通过以下代码绘制散点图:

import matplotlib.pyplot as plt

x = [2,4,6]
y = [1,3,7]
r = [650,890,320]
clr = ['r','b','g']
bubble_id = ['C0','C1','C2']

H0 = plt.scatter(x,y,s=r,c=clr)

matplotlib 散点图的气泡

然后我想把'set_gid()'三个泡泡'C0', 'C1' ,'C2'分别作为。怎么做 ?作为H0单个对象<matplotlib.collections.PathCollection object at 0x0ADA6D30>,我不知道如何分解 H0 并找到 H0 的三个“泡泡儿子”。感谢您的提示。

4

1 回答 1

1

所以,我知道这可能不是最有效的解决方案,但是循环呢?

import matplotlib.pyplot as plt
import itertools as it

X = [2,4,6]
Y = [1,3,7]
radius = [650,890,320]
clr = ['r','b','g']
bubble_id = ['C0','C1','C2']

ax = plt.subplot(111)
for x, y, r, c, id in it.izip(X, Y, radius, clr, bubble_id):
    ax.scatter(x,y,s=r,c=c, gid=id)

视觉上给出了相同的情节。

在 Ipython 中,我查看了PathCollection方法,看起来没有简单的方法可以从中取出单个补丁。

2020年编辑

由于现在您很可能使用 python 3(如果不是的话),因此可以使用内置的zip而不是itertools.izip. 感谢@Guimute 恢复了答案

于 2013-02-04T14:49:14.073 回答