gpt4 book ai didi

python - 为什么所有标签在 matplotlib 中都无法正确显示?

转载 作者:行者123 更新时间:2023-12-01 06:35:51 24 4
gpt4 key购买 nike

当我执行下面的代码时,我可以看到演示正在水平打印在顶部。 Demo2 在绘图内打印出虚线。但我看不到Demo1?为什么 Demo1 没有打印,为什么 Demo 水平排在顶部?

import matplotlib.pyplot as plt    
x = [1,2,3,4,5,-1-2]
y = [-1,5, 100, -2, 50, 100]
t = [100, 110, 120, 130, 140, 150]
plt.figure()

ax1 = plt.subplot(3, 1, 1)
plt.title('Demo');
ax1.plot(t,x, 'b.:', label="Demo") # Showing top Horizontal

ax2 = plt.subplot(3, 1, 2, sharex=ax1)
ax2.plot(t,y, 'b.:', label="Demo1") # Not showing up

ax3 = plt.subplot(3, 1, 3, sharex=ax1)
ax3.plot(t,t, 'b.:', label="Demo2") # This is perfect how I wanted

plt.legend()
plt.show()

最佳答案

您可以使用plt.figlegend()相反,这会给你这样的输出

enter image description here

或者在每个图之后调用plt.legend(),将图例单独添加到每个子图,

import matplotlib.pyplot as plt    
x = [1,2,3,4,5,-1-2]
y = [-1,5, 100, -2, 50, 100]
t = [100, 110, 120, 130, 140, 150]
plt.figure()

ax1 = plt.subplot(3, 1, 1)
plt.title('Demo');
ax1.plot(t,x, 'b.:', label="Demo") # Showing top Horizontal
plt.legend()

ax2 = plt.subplot(3, 1, 2, sharex=ax1)
ax2.plot(t,y, 'b.:', label="Demo1") # Not showing up
plt.legend()

ax3 = plt.subplot(3, 1, 3, sharex=ax1)
ax3.plot(t,t, 'b.:', label="Demo2") # This is perfect how I wanted
plt.legend()
plt.show()

enter image description here

如果这不完全是您想要的,this question 的答案中概述了其他方法。

关于python - 为什么所有标签在 matplotlib 中都无法正确显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59672509/

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