2012-03-29 11 views
1

Ich plane Formation gegen Daten. Ist es möglich, die Farbe der gezeichneten Linie abhängig vom Datum (welches auf der Achse ist) zu ändern?Ändern der Farbe der Diagrammlinie abhängig vom Datum mit Matplotlib

+1

Ich bin nicht sicher, was Sie fordern. Ist es etwas wie [dies] (http://matplotlib.sourceforge.net/examples/pylab_examples/multicolored_line.html)? – Avaris

+0

Ja, genau das möchte ich. Die selbe Linie hat verschiedene Farben. Danke für den Link. –

+0

Eigentlich scheint das zu kompliziert. Gibt es keine Möglichkeit, die Farbe je nach Eingabe zu ändern? –

Antwort

5

Sie können Masken definieren und diese verwenden, um die gewünschten "Segmente" für die Linie zu unterscheiden.

Unten ist ein Beispiel.

import numpy as np 
import matplotlib.pyplot as plt 

# data 
x = np.linspace(-10, 10, 1000) 
y = np.sin(x) 

# 4 segments defined according to some x properties 
segment1 = (x<-5) 
segment2 = (x>=-5) & (x<0) 
segment3 = (x>=0) & (x<5) 
segment4 = (x>=5) 

plt.plot(x[segment1], y[segment1], '-k', lw=2) 
plt.plot(x[segment2], y[segment2], '-g', lw=2) 
plt.plot(x[segment3], y[segment3], '-r', lw=2) 
plt.plot(x[segment4], y[segment4], '-b', lw=2) 

plt.show() 

plot

Verwandte Themen