Ich habe einige Zeitreihendaten, die ich plotten möchte, und ich möchte Farbskalierung verwenden, um das Alter eines Datenpunkts darzustellen. Ich kann erfolgreich die Farbleiste Arbeits erhalten:Verwendung von Colormap aus Daten in Matplotlib
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from matplotlib.dates import date2num
x = np.random.randint(low=0, high=10, size=10)
y = np.random.randint(low=0, high=10, size=10)
dates = pd.date_range("2000-01-01", end="2000-01-10", freq="D")
df = pd.DataFrame({"x": x, "y": y, "dates": dates})
sc = plt.scatter(df["x"], df["y"], c=[date2num(i) for i in df["dates"]])
plt.colorbar(sc)
plt.savefig("dates.png")
Aber ich verstehe nicht, wie die built in colour maps zu verwenden, wie die einheitlichen Eindruck vermittelt oder sequenzielle Farbkarten. Wie verwende ich eine eingebaute Farbkarte als c
beim Aufruf von Scatter?
Fügt '' cmap''-Option zum 'streuen' hinzu, z.B. 'sc = plt.scatter (df [" x "], df [" y "], c = [datum2num (i) für i in df [" daten "], cmap = plt.cm.viridis)' mach was du wollen? Wenn Sie Pre-Matplotlib 1.5 sind dann lesen Sie diese Antwort http://stackoverflow.com/questions/32484453/how-to-use-viridis-in-matplotlib-1-4, um die Perceptually Uniform Sequential colourmaps –
Das hat genau was ich mir erhofft hatte! Vielen Dank! Wenn Sie die Frage mit diesem Kommentar beantworten möchten, akzeptiere ich sie. – mxplusb
Fertig, obwohl ich denke, dass ist wahrscheinlich ein Duplikat von http://stackoverflow.com/questions/6063876/matplotlib-colorbar-for-scatter#6065493 –