如何在matplot散点图中为每个气泡设置set_gid()?

时间:2013-02-04 12:45:28

标签: matplotlib scatter

我按以下代码绘制散点图:

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)

bubbles of matplotlib scatter chart

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

1 个答案:

答案 0 :(得分: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方法了,看起来没有什么简单的方法可以从中获取单个补丁。