所以我有一个2D数据阵列,在同一轴上生成许多时间序列的图.目前,每条线的颜色只是循环,并没有任何意义.
我想以某种方式将每行的颜色映射到其数据的索引 - 因此一组具有低索引的数据显示为红色,然后在高索引处淡化为蓝色.
为了澄清,每条线都应该是相同的颜色,而不是随着时间的推移而消失.差异应该在每一行之间.
谢谢!
我有一系列行存储在列表中,如下所示:
line_list = [line_1, line_2, line_3, ..., line_M]
Run Code Online (Sandbox Code Playgroud)
其中每个line_i是由两个子子列表组成的子列表,一个用于x坐标,另一个用于y坐标:
line_i = [[x_1i, x2_i, .., x_Ni], [y_1i, y_2i, .., y_Ni]]
Run Code Online (Sandbox Code Playgroud)
我也有一个line_list与花车相同长度的列表,:
floats_list = [0.23, 4.5, 1.6, ..., float_M]
Run Code Online (Sandbox Code Playgroud)
我想绘制每一行,给它一个颜色图中的颜色,并与floats_list列表中索引的位置相关.因此line_j它的颜色将由数字决定floats_list[j].我还需要在侧面显示一个颜色条
代码会喜欢这样的东西,除了它应该工作:)
import matplotlib.pyplot as plt
line1 = [[0.5,3.6,4.5],[1.2,2.0,3.6]]
line2 = [[1.5,0.4,3.1,4.9],[5.1,0.2,7.4,0.3]]
line3 = [[1.5,3.6],[8.4,2.3]]
line_list = [line1,line2,line3]
floats_list = [1.2,0.3,5.6]
# Define colormap.
cm = plt.cm.get_cmap('RdYlBu')
# plot all lines.
for j,lin in enumerate(line_list):
plt.plot(lin[0], lin[1], c=floats_list[j])
# Show colorbar.
plt.colorbar()
plt.show()
Run Code Online (Sandbox Code Playgroud)