gpt4 book ai didi

python - 小方 block 而不是传说中的线条?

转载 作者:行者123 更新时间:2023-11-30 23:28:11 25 4
gpt4 key购买 nike

要制作自定义图例,我目前使用以下内容:

handles, labels = plt.gca().get_legend_handles_labels()
my_artist = plt.Line2D((0,1),(0,0), color = "blue", linestyle = "-", linewidth = 1)
plt.legend([handle for i,handle in enumerate(handles) if i in display]+[my_artist],
[label for i,label in enumerate(labels) if i in display]+["My legend"])

它将在图例框中绘制一条蓝线。我想要一个蓝色的小方 block (但比简单的标记大),而不是一条线。如何做到这一点?

最佳答案

制作一个代理矩形而不是 Line2D,如果您希望它是一个正方形,请对句柄长度大惊小怪(但handlelengthhandleheight适用于整个图例):

import matplotlib.pyplot as plt
handles, labels = plt.gca().get_legend_handles_labels()
my_artist = plt.Line2D((0,1),(0,0), color = "blue", linestyle = "-", linewidth = 1)
p = plt.Rectangle((0, 0), 1, 1, fc="b")
plt.legend([handle for i,handle in enumerate(handles) if i in display]+[my_artist, p],
[label for i,label in enumerate(labels) if i in display]+["Line2D", "Rectangle"],
handlelength=0.8, handleheight=0.8)
plt.show()

(几乎直接来自 matplotlib 文档的示例: legend guide 。)

关于python - 小方 block 而不是传说中的线条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21751889/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com