matplotlib 如何删除图例的特定部分

nmpmafwu  于 2023-10-24  发布在  其他
关注(0)|答案(1)|浏览(127)

我使用的是海运散点图,刚开始使用不同的点大小。

sns.scatterplot(x='X [um]', y='Y [um]', hue='label', size='size', data=data)

所有工作完美,但我想删除'大小'从图片中看到的图例:

上半部分与CH 1等应保持不变,但我希望下半部分的大小列出消失。

lf5gs5x2

lf5gs5x21#

我使用get_legend_handles_labels()功能来索引标签。使用索引,我确保最终打印的图像只包含图例中的前13个标签。

ax = sns.scatterplot(x='X [um]', y='Y [um]', hue='label', size='size', data=data)

# extract the existing handles and labels
h, l = ax.get_legend_handles_labels()

# slice the appropriate section of l and h to include in the legend
ax.legend(h[0:13], l[0:13] ,bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.)

plt.show()

相关问题