Mam serię linii, które należy narysować z osobnym kolorem. Każda linia składa się w rzeczywistości z kilku zestawów danych (dodatnich, negatywnych regionów itp.), Dlatego chciałbym móc stworzyć generator, który będzie zasilał jeden kolor na raz w całym spektrum, na przykład gist_rainbow
mapa shown here.Utwórz generator kolorów z podanej mapy kolorów w matplotlib
Znalazłem następujące prace, ale wydaje się bardzo skomplikowane, a co ważniejsze, trudne do zapamiętania,
from pylab import *
NUM_COLORS = 22
mp = cm.datad['gist_rainbow']
get_color = matplotlib.colors.LinearSegmentedColormap.from_list(mp, colors=['r', 'b'], N=NUM_COLORS)
...
# Then in a for loop
this_color = get_color(float(i)/NUM_COLORS)
Ponadto nie obejmuje zakres kolorów w mapie gist_rainbow
mam przedefiniować mapę .
Może generator nie jest najlepszym sposobem, aby to zrobić, jeśli tak, to w jaki sposób jest akceptowany?
: Witam, chciałem zapytać, jak mogę to wykorzystać w moich program.I mieć na przykład komórki, które mają wartości całkowite (pusty = 0, full = 1 ..) .Jak mogę sprawić, że "pusty" odpowiada kolorowi "red", full to color white itp. Mam funkcję, w której robię wykres ".... im = plt.imshow (mydata, cmap = plt.get_cmap ('gist_earth')) ".Jak muszę wdrożyć powyższe? (jeśli powiemy to samo). Dzięki! – George
@George: Jak to opisujesz, nie jestem pewien, dlaczego to nie działa. Może opublikuj pełne pytanie z małym przykładem. – tom10
: Jeśli możesz sprawdzić tutaj http://stackoverflow.com/questions/8929456/how-to-create-a-movie-in-relation-to-matlab (w zaktualizowanej części), gdzie utworzę wykres.Jak można mogę zaimplementować twój przykład? (Jeśli nalegasz, opublikuję nową odpowiedź) Dzięki! – George