我有两张价格不同的单子。第一份名单是2008-2018年,第二份是2010-2018年。在X轴上是2008年到2018年,而第二个列表从2010年开始的情况下,我如何绘制它们?
下面是一个简短代码的例子:
from matplotlib import pyplot as plt
Geb_b30 = [11, 10, 12, 14, 16, 19, 17, 14, 18, 17]
Geb_a30 = [12, 10, 13, 14, 12, 13, 18, 16]
fig, ax = plt.subplots()
ax.plot(Geb_b30, label='Prices 2008-2018', color='blue')
ax.plot(Geb_a30, label='Prices 2010-2018', color = 'red')
legend = ax.legend(loc='center right', fontsize='x-large')
plt.xlabel('years')
plt.ylabel('prices')
plt.title('Comparison of the different prices')
plt.show()
5条答案
按热度按时间31moq8wy1#
要告诉matplotlib你希望点在x轴上的什么位置结束,你必须显式地提供x值。x轴值的大小必须与y值的大小相对应,但是在独立数据集之间不需要有任何关系,正如您已经看到的。
b0zn9rqh2#
您应该创建一个包含您的年份的新列表。然后,您可以指定在x轴上的位置,您想绘制的odoing年[10:18],例如
编辑:更新为正确的x轴
t98cgbkg3#
有很多方法可以实现这一点。一个优雅的方法是使用Pandas。这样,您就可以自动获得正确标记和对齐的x刻度。
lg40wkob4#
我建议您简单地定义x值(即年份列表),并将它们传递到
ax.plot()
的参数中,如下所示:2fjabf4q5#
IIUC,用
None
/NaN
来填补你缺失的年份: