2016-10-15 2 views
3

Ich habe ein Problem, das (denke ich) sollte eine ziemlich einfache Lösung haben. Ich bin immer noch ein relativer Neuling in Python, also Entschuldigung, wenn ich etwas offensichtlich falsch mache. Ich versuche nur, ein einfaches Plot mit mehreren Zeilen zu erstellen, wobei jede Zeile durch ihre eigene benutzerdefinierte Farbe gekennzeichnet ist. Wenn ich den folgenden Code als Test für eine der Farben ausführe, erhält er eine leere Zeichnung. Was fehlt mir hier? Vielen Dank!Python mit benutzerdefinierten Farbe in Handlung

import numpy as np 
import matplotlib.pyplot as plt 
from colour import Color 

dbz53 = Color('#DD3044') 

*a bunch of arrays of data, two of which are called x and mpt1* 

fig, ax = plt.subplots() 
ax.plot(x, mpt1, color='dbz53', label='53 dBz') 
ax.set_yscale('log') 

ax.set_xlabel('Diameter (mm)') 
ax.set_ylabel('$N(D) (m^-4)$') 
ax.set_title('N(D) vs. D') 
#ax.legend(loc='upper right') 

plt.show() 
+0

Ich bin nicht vertraut mit dem 'colour' Modul, aber' ax.plot' akzeptiert unter anderem hexwertige Farben. Ich würde das benutzen. Sind Sie sicher, dass Ihre Daten sinnvoll sind? –

+0

Bitte fügen Sie keine Antworten in die Frage ein. Fragen sollten Fragen sein. Wenn ein Teil einer Antwort fehlt, fügen Sie entweder eine eigene Antwort hinzu oder bearbeiten Sie einen vorhandenen Beitrag, wenn Sie dies für angemessener halten. –

+0

Wenn eine Antwort für Sie nützlich ist, denken Sie bitte daran, das Upvoting durch Klicken auf den Pfeil nach oben durchzuführen und die beste Antwort zu akzeptieren, indem Sie auf das Häkchen (Häkchen) klicken. Dies ist die bevorzugte Art, in SO und nicht in Kommentaren zu danken. – swatchai

Antwort

0

Im plot Befehl können Sie Hex Farben eingeben. Eine viel einfachere Möglichkeit, Ihre Handlung zu verschönern, wäre die Verwendung von Matplotlib-Stilen. Zum Beispiel vor jeder Plot-Funktion, schreiben Sie einfach plt.style.use('ggplot')

+0

Wenn Sie sich die Zeit nehmen, einer einfachen Frage wie dieser eine Antwort hinzuzufügen, gehen Sie bitte den ganzen Weg und fügen Sie ein tatsächliches Beispiel mit einfachen Hexfarben hinzu. –

+1

Es ist mir nie in den Sinn gekommen, eine Hex-Farbe anstelle einer benannten, vordefinierten Matplotlib-Farbe in das color-Argument einzugeben. Derp. Danke euch beiden! – jwetter10

0

Die Aussage

ax.plot(x, mpt1, color='dbz53', label='53 dBz') 

stimmt nicht mit 'dbz53', wo Python als String unbekannten rgb-Wert behandelt.
können Sie einfach

color='#DD3044' 

setzen und es wird funktionieren.
Oder Sie können

color=dbz53.get_hex() 

ohne Zitat versuchen, wenn Sie das Farbmodul Sie importiert verwenden möchten.

Verwandte Themen