Bir renk eşlemi kullanarak çalışma zamanında sağlanan skaler değerlerle matplotlib'deki bir çizginin rengi nasıl ayarlanır (örneğin jet
)? Burada birkaç farklı yaklaşım denedim ve sanırım kendimi darmadağın ettim. values[]
, bir dizi skaler dizisidir. eğriler 1-d diziler kümesidir ve etiketler bir dizi metin dizgisidir. Dizilerin her biri aynı uzunluktadır.Matplotlib'deki çizginin rengini ayarlamak için Colormaps kullanma
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()
Bu yalnızca, 'dur' değerinizin 1 – Eric
olması nedeniyle çalışır. Elbette, 1 en iyi değerdir. Daha geniş bir renk yelpazesi istiyorsanız, ihtiyacınız olan tek şey 'number_of_lines' artırmaktır. Ve gruptaki renklerin sadece bir kısmını istediğinizde "durdur" u ve gerektiğinde "başlat" ı arttırabilirsiniz. – Parousia
Hızlı bir soru: Arsa yerine efsane yerine colorbar nasıl eklenir? –