我需要在同一个图上绘制两个列表。线条应该是不同的颜色。
我试图在同一个图上绘制forecast
和train_Z
,但是我得到了它们彼此相对的图,x轴是forecast
,y轴是train_Z
。
下面是我尝试的代码:
import matplotlib.pyplot as plt
train_X = [1,2,3,4,5]
train_Y = [10, 20, 30, 40, 50]
train_Z = [10, 20, 30, 40, 50,25]
alpha = float(input("Input alpha: "))
forecast = []
for x in range(0, len(train_X)+1):
if x==0:
forecast.append(train_Y[0])
else:
forecast.append(alpha*train_Y[x-1] + (1 - alpha) * forecast[x-1])
plt.plot(forecast,train_Z,'g')
plt.show()
关于alpha == 5
4条答案
按热度按时间q35jwt9p1#
您应该使用
plt.plot
两次来绘制两条线。我不知道你的X轴是什么,但显然你应该创建另一个数组/列表作为你的X值。
然后使用
plt.plot(x_value,forecast, c='color-you-want')
和plt.plot(x_value,train_z, c='another-color-you-want')
。。请参考pyplot文档了解更多详细信息。
b4qexyjb2#
根据
matplotlib.pyplot.plot
文档,使用[x], y, [fmt]
绘制多个集。如果传递y
而没有相应的x
,则y
将根据range(len(y))
顺序绘制。散点图
线图
eyh26e7m3#
从另一个答案中窃取借用,这似乎起作用:
其他答案:python/matplotlib - multicolor line
当然,请将
'r'
、'g'
、'b'
值替换为www.example.com颜色列表中的任何其他值https://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.plotars1skjm4#