gpt4 book ai didi

python - 使用一次 `plot` 调用绘制多条曲线时的一个图例条目

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

我通过使用一个 plot 调用绘制多条曲线来创建一个网格:

import matplotlib.pyplot as plt
import numpy as np

fig, ax = plt.subplots()

x = np.array([[0,1], [0,1], [0,1]])
y = np.array([[0,0], [1,1], [2,2]])

ax.plot([0,1],[0,2], label='foo', color='b')

ax.plot(x.T, y.T, label='bar', color='k')

ax.legend()

plt.show()

生成的图例具有与曲线一样多的“条形”条目(见下文)。我希望每个 plot 调用只有一个图例条目(在本例中只有一次 'bar')。

我希望这样我可以有其他绘图命令(例如绘制“foo”曲线的命令),如果它们有标签,这些命令的曲线自动包含在图例中。我特别想避免在构建图例时手动选择 handle ,而是使用 matplotlib 的功能通过在绘图时是/否包括标签来处理这个问题。我怎样才能做到这一点?

enter image description here

最佳答案

这是一个可能的解决方案:您可以使用下划线不产生图例条目的事实。因此,将除第一个标签之外的所有标签都设置为 "_" 可以抑制这些标 checkout 现在图例中。

import matplotlib.pyplot as plt
import numpy as np

fig, ax = plt.subplots()

x = np.array([[0,1], [0,1], [0,1]])
y = np.array([[0,0], [1,1], [2,2]])

ax.plot([0,1],[0,2], label='foo', color='b')

lines = ax.plot(x.T, y.T, label='bar', color='k')
plt.setp(lines[1:], label="_")
ax.legend()

plt.show()

enter image description here

关于python - 使用一次 `plot` 调用绘制多条曲线时的一个图例条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52497476/

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