sia*_*mii 2 python plot matplotlib
我有一个散点图matplotlib。散点图显示了具有不同颜色深浅和不同大小的圆圈。
我只想为圆圈的大小添加一个图例。图例不应该由情节中圆圈的颜色着色,而应该说是“灰色”颜色。然后应该有三个条目,分别对应一个大灰圈、中灰圈和小灰圈,都有一些文字。在一个图例条目中,我只需要一个圆圈,而不是 matplotlib 中似乎默认的多个圆圈。
我已经根据这个http://matplotlib.org/users/legend_guide.html尝试过这个,
但它给出了一个矩形,而不是一个圆形。
red_patch = mpatches.Circle((3,3), radius = 1000, color='blue', label='The red data')
ax1.legend(handles=[red_patch])
Run Code Online (Sandbox Code Playgroud)
自动完成尽可能多的工作:
import matplotlib.pyplot as plt
from numpy.random import random
colors = ['b', 'c', 'y', 'm', 'r']
ll = plt.scatter(random(10), random(10), s=random(10)*10, marker='o', color=colors[0])
l = plt.scatter(random(10), random(10), s=random(10)*20, marker='o', color=colors[1])
a = plt.scatter(random(10), random(10), s = random(10)*300, marker='o', color=colors[2])
z = plt.scatter(random(10), random(10), s = 35, marker='+', color=colors[3]) # not in legend
gll = plt.scatter([],[], s=10, marker='o', color='#555555')
gl = plt.scatter([],[], s=20, marker='o', color='#555555')
ga = plt.scatter([],[], s=300, marker='o', color='#555555')
plt.legend((gll,gl,ga),
('10', '20', '300'),
scatterpoints=1,
loc='lower left',
ncol=1,
fontsize=8)
plt.show()
Run Code Online (Sandbox Code Playgroud)

可以通过循环sizes=[10,20,300]等方式来解决。
| 归档时间: |
|
| 查看次数: |
3478 次 |
| 最近记录: |