/ / Contourplot matplotlib z każdą n-tą linią innego koloru - python, matplotlib

Contplplot matplotlib z każdą n-tą linią o innym kolorze - python, matplotlib

Czy można utworzyć wykres konturowy wMatplitlib z każdą n-tą linią innego koloru niż reszta? Chciałbym to mieć, ponieważ mniej konturów pokazuje zbyt mało szczegółów, a ten sam kolor sprawia, że ​​jest zbyt zatłoczony. Na przykład: Galaktyka bez fantazyjnych konturów

Odpowiedzi:

4 dla odpowiedzi № 1

Tak, możesz. Musisz określić kolory dla każdego poziomu:

levels = np.logspace(0, np.log10(Z.max()), 100 )[30:80]
color_levels = ["r" if (i+5) % 10 == 0 else "k" for i in range(len(levels))]
pyplot.contour(X, Y, Z, locator=ticker.LogLocator(), colors=color_levels, levels=levels, lw=2, norm=colors.LogNorm(), vmin=1, vmax=Z.max())

Tutaj jest Z wyniki np.histogram2d(). Bazowy histogram2d jest wykreślany za pomocą imshow. The [30:80] plasterek na poziomach ma zapobiec zaśmiecaniu pośrodku i krawędzi obrazu.

Oczywiście możesz edytować % 10 w definicji color_levels na każdą liczbę całkowitą, którą lubisz.

To skutkuje:

Galaktyka z czerwonymi konturami