Πώς μπορώ να σταματήσω Matplotlib από την επανάληψη χρώματα;

ψήφοι
1

Έχω αυτόν τον κώδικα:

plist = ['p5', 'p14', 'p23', 'p32', 'p41', 'p50', 'p59', 'p68', 'p77', 'p85', 'p95']


for pltcount in range(len(plist)):
    plt.plot(data1[pltcount], np.exp(data2)[pltcount], marker='o', label=str(plist[pltcount]))
plt.legend()
plt.show()

Αυτό χρησιμοποιεί το plt.style.use('fivethirtyeight') να κάνουν τα οικόπεδα καλύτερο. Έχω βρει παραδείγματα όπου ορίσετε με μη αυτόματο τρόπο τα χρώματα. Τι γίνεται αν θέλω να είναι αυτόματη και από ορισμένα γνωστά παλέτες;

εισάγετε

Δημοσιεύθηκε 08/11/2018 στις 00:04
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
2

Τι λέτε για τα χρώματα του ουράνιου τόξου; Το κλειδί εδώ είναι να χρησιμοποιήσετε ax.set_prop_cycleγια να αναθέσετε χρώματα σε κάθε γραμμή.

NUM_COLORS = len(plist)

cm = plt.get_cmap('gist_rainbow')
fig = plt.figure()
ax = fig.add_subplot(111)
ax.set_prop_cycle('color', [cm(1.*i/NUM_COLORS) for i in range(NUM_COLORS)])
# Or,
# ax.set_prop_cycle(color=[cm(1.*i/NUM_COLORS) for i in range(NUM_COLORS)])
for i, p in enumerate(plist):
    ax.plot(data1[i], np.exp(data2)[i], marker='o', label=str(p))

plt.legend()
plt.show()

Δανείστηκε από εδώ . Άλλες πιθανές εναλλακτικές λύσεις.

Απαντήθηκε 08/11/2018 στις 00:10
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more