我使用 matplotlib 绘制了一个气泡图,其中圆圈的大小与值列表相对应。但是,我无法为具有与列出的大小相对应的可变大小符号的图创建图例。比如上面链接中的那个。
有没有办法在 matplotlib 中创建这个图例,而无需在绘图上手动绘制圆圈和文本?提前感谢您的时间和想法!
辛迪
我使用 matplotlib 绘制了一个气泡图,其中圆圈的大小与值列表相对应。但是,我无法为具有与列出的大小相对应的可变大小符号的图创建图例。比如上面链接中的那个。
有没有办法在 matplotlib 中创建这个图例,而无需在绘图上手动绘制圆圈和文本?提前感谢您的时间和想法!
辛迪
是的,您可以具体说明为哪些数据制作图例(选择说明性尺寸)并在图例中指定它们的标签。
从此处其他分散图例问题之一的数据开始,并留下一些不会进入图例(十字架)的数据:
import matplotlib.pyplot as plt
from numpy.random import random
colors = ['b', 'c', 'y', 'm', 'r']
ll = plt.scatter(random(10), random(10), s=10, marker='o', color=colors[0])
l = plt.scatter(random(10), random(10), s=20, marker='o', color=colors[1])
a = plt.scatter(random(10), random(10), s = 300, marker='o', color=colors[2])
z = plt.scatter(random(10), random(10), s = 35, marker='+', color=colors[3]) # not in legend
plt.legend((ll, l, a),
('10', '20', '300'),
scatterpoints=1,
loc='lower left',
ncol=1,
fontsize=8)
plt.show()
剩下要做的:将图例移到情节之外。(看起来您可能需要添加不可见的垂直垫片。)