嗨,我在尝试给我的图表添加一个色条时遇到了麻烦。
我有五个1D数组,时间、x和p、q、r,它们的长度都相同。我想绘制x与p,x与q以及x与r,但是每个数据点的颜色应该根据时间而变化,这样我就可以看到数据随时间的演变情况。
我已经成功地使用Python - Line colour of 3D parametric curve中提供的答案作为示例来实现这一点。这是我的代码:
import matplotlib.pyplot as plt
import numpy as np
from numpy import *
from matplotlib import colors
time, x, p, q, r = loadtxt('data.txt', unpack = True)
cn = colors.Normalize(min(time), max(time))
fig, (axes1, axes2, axes3) = plt.subplots(1,3)
for i in range(len(time)):
axes1.plot(x[i], p[i], '.', color=plt.cm.jet(cn(time[i])))
axes2.plot(x[i], q[i], '.', color=plt.cm.jet(cn(time[i])))
axes3.plot(x[i], r[i], '.', color=plt.cm.jet(cn(time[i])))
plt.show()
但现在我卡在了给这个图形添加颜色条的步骤上,以便点的颜色具有某种含义。
我尝试使用类似于Matplotlib 2 Subplots, 1 Colorbar的方法,但我对可映射对象im和imshow不确定。
任何帮助将不胜感激! 谢谢