2017-02-15 3 views
2

Ich habe eine Grafik, die nur aus horizontalen Linien besteht bei bestimmten Werten, wenn ich ein Signal habe, sonst keine. Also suche ich nach einer Möglichkeit, dies ohne die vertikalen Linien zu zeichnen. Es kann Lücken zwischen den Zeilen geben, wenn kein Signal vorhanden ist, und ich möchte nicht, dass die Zeilen verbunden werden, und ich möchte, dass eine Zeile auf 0 abfällt. Gibt es eine Möglichkeit, dies in Matplotlib so darzustellen?matplotlib Liniendiagramm zeige keine vertikalen Linien in Step-Funktion

enter image description here

self.figure = plt.figure() 
self.canvas = FigureCanvas(self.figure) 
axes = self.figure.add_subplot(111) 
axes.plot(df.index, df["x1"], lw=1.0, c=self.getColour('g', i), ls=ls) 
+0

zeigen Sie Ihren Code bitte – eyllanesc

+0

gibt es ein paar Zeilen. nicht sicher, was Sie sonst noch brauchen könnten – chrise

+0

Was passiert ist, dass wir nicht helfen können, aber sehen, welche Fehler Sie gemacht haben oder welche Dinge Sie benutzt haben. – eyllanesc

Antwort

2

Das Grundstück Sie suchen, ist Matplotlib der plt.hlines(y, xmin, xmax).

Zum Beispiel:

import matplotlib.pyplot as plt 

y = range(1, 11) 
xmin = range(10) 
xmax = range(1, 11) 
colors=['blue', 'green', 'red', 'yellow', 'orange', 'purple', 
     'cyan', 'magenta', 'pink', 'black'] 

fig, ax = plt.subplots(1, 1) 
ax.hlines(y, xmin, xmax, colors=colors) 
plt.show() 

ergibt sich ein Grundstück wie folgt aus:

Matplotlib hlines plot

die Matplotlib documentation für mehr Details.

Verwandte Themen