Jeśli mam 4 krzywe na działce i chcę przedstawić je w sekwencyjnym schemacie kolorów (tj. Blues Clicapap), dodałem następujący kawałek kodu:


num_plots=4

plt.gca().set_prop_cycle(plt.cycler('color', plt.cm.Blues(np.linspace(0.2, 1, num_plots))))

Każda krzywa będzie innym kolorem niebieskiego.

Co jeśli chcę, aby kolory powtarzały się raz w sekwencji? Więc zamiast "jasnoniebieski, niebieski, ciemnoniebieski, ciemny ciemny niebieski" jako kolejność koloru krzywych, zamiast tego staje się "jasnoniebieski, jasnoniebieski, ciemnoniebieski, ciemnoniebieski". Kolor zmienia się tylko po dwóch kolejnych krzywe, w przeciwieństwie do jednego. Jak mogę zmodyfikować mój kod, aby to zrobić?

1
Jan Rostenkowski 23 listopad 2020, 08:23

1 odpowiedź

Najlepsza odpowiedź

Możesz to osiągnąć, modyfikując tablicę przechodząc do plt.cm.Blues. Na przykład

num_plots=4
color_source = np.linspace(0.2,1,num_plots)
color_repeat = np.repeat(color_source,2)

plt.gca().set_prop_cycle(plt.cycler('color',plt.cm.Blues(color_repeat)))
for ind in range(20):
    plt.plot(np.linspace(1,10,10)+ind)

output

1
meTchaikovsky 23 listopad 2020, 05:38