Wie setzt man die Farbe einer Linie in matplotlib mit Skalarwerten, die zur Laufzeit mithilfe einer Farbkarte (z. B. jet
) bereitgestellt werden ? Ich habe hier ein paar verschiedene Ansätze ausprobiert und denke, ich bin ratlos. values[]
ist eine sortierte Anordnung von Skalaren. Kurven sind eine Reihe von 1-D-Arrays, und Beschriftungen sind ein Array von Textzeichenfolgen. Jedes der Arrays hat die gleiche Länge.
fig = plt.figure()
ax = fig.add_subplot(111)
jet = colors.Colormap('jet')
cNorm = colors.Normalize(vmin=0, vmax=values[-1])
scalarMap = cmx.ScalarMappable(norm=cNorm, cmap=jet)
lines = []
for idx in range(len(curves)):
line = curves[idx]
colorVal = scalarMap.to_rgba(values[idx])
retLine, = ax.plot(line, color=colorVal)
#retLine.set_color()
lines.append(retLine)
ax.legend(lines, labels, loc='upper right')
ax.grid()
plt.show()