python - 在图例中将两个 matplotlib 标记合二为一
问题描述
为了有一个自定义标记,我制作了两个具有相同数据点但标记不同的散点图。因此,通过在另一个标记上绘制一个标记,我得到了一个新的自定义标记的外观。现在我想在传说中使用它。有没有一种方法可以在图例中使用两个标记,一个在另一个之上,并将它们显示为一个标记。
编辑:问题不在于如何为两个不同的标记共享相同的标签,而是如何在图例中将一个标记绘制在另一个标记之上
解决方案
使用标记元组回答了这个问题;
from numpy.random import randn
m=np.random.uniform(size=10)
x=np.arange(0,10,1)
y=x**2
fig, ax = plt.subplots(1,1)
blue_dot = ax.scatter(x[:5],y[:5], s=m*100, color='b')
red_dot = ax.scatter(x[5:],y[5:], s=200*m, color='r')
black_cross = ax.scatter(x[5:],y[5:], s=400*m, marker='+', color='k')
lgnd = ax.legend([blue_dot, (red_dot, black_cross)], ["Blue Circle", "Red Circle and Black Cross"])
现在我想改变图例中标记的大小,使所有标记的大小相等。为此,我尝试将其添加到上面的代码中。
lgnd.legendHandles[0]._sizes = [200]
lgnd.legendHandles[1]._sizes = [200] # this is affecting the size of red_dot only
如何在图例中更改 black_cross 的大小?
推荐阅读
- c# - System.Reactive Observable 的字符串将项目组合成单个项目作为新的 Observable
- sql - 在 SSRS 中创建下拉日期选择
- ms-access - 为什么 Access VBA 下拉方法不起作用?
- selenium-webdriver - 如何找到按钮元素并单击它
- ios - 当用户使用 Swift 在 iOS 中一直滚动到表格视图的底部时,如何触发代码运行
- reactjs - 如何解决错误使用对象解构首选解构 - React
- r - 从 R 中的表列表创建数据框
- jquery - JqueryUI Explode - 颜色来自哪里?
- ios - 启动 AVCaptureSession 时设备手电筒关闭
- c++ - 如何在 C++ 中尽可能自动地用命名令牌标记每个线程?