我想在图例中显示一行标签的文本,但不想显示一行(如下图所示):
我试图最小化图例的行和标签,并且只覆盖新的标签(如下面的代码所示)。然而,传说把两者都带回来了。
legend = ax.legend(loc=0, shadow=False)
for label in legend.get_lines():
label.set_linewidth(0.0)
for label in legend.get_texts():
label.set_fontsize(0)
ax.legend(loc=0, title='New Title')
Tags:
您可以通过^{} 在图例中设置
handletextpad
和handlelength
,如下所示:有关
handletextpad
和handlelength
的详细信息,请参阅文档(linked here,复制如下):使用上述代码:
有了几行额外的标签可以有相同的颜色作为他们的行。只需通过
legend.get_texts()
使用.set_color()
。只要调用
plt.legend()
就可以得到:在这一点上,可以说只使用^{} 更容易。
例如:
但是,如果您确实想使用
legend
,下面是您的方法。除了将图例句柄的大小设置为0并移除其填充之外,还需要显式隐藏它们。我找到了另一个更简单的解决方案-只需在图例属性中将标记的比例设置为零:
这在散点图中特别有用,因为您不希望标记在视觉上被误认为是真正的数据点(甚至是异常点!)。
相关问题 更多 >
编程相关推荐