Gantt-Plot mit Python-Matplotlib erstellen

Wie ist es möglich, mit matplotlib ein Diagramm mit diesen Daten zu zeichnen. Das Problem besteht darin, den Abstand von Spalte 2 zu Spalte 3 zu visualisieren. Am Ende sollte es wie ein gant Zeitdiagramm aussehen.

0 0 0.016 19.833 1 0 19.834 52.805 2 0 52.806 84.005 5 0 84.012 107.305 8 0 107.315 128.998 10 0 129.005 138.956 11 0 138.961 145.587 13 0 145.594 163.863 15 0 163.872 192.118 16 0 192.127 193.787 17 0 193.796 197.106 20 0 236.099 246.223 25 1 31.096 56.180 27 1 58.097 64.857 28 1 64.858 66.494 29 1 66.496 89.908 31 1 89.918 111.606 34 1 129.007 137.371 35 1 137.372 145.727 39 1 176.097 209.461 42 1 209.476 226.207 44 1 226.217 259.317 46 1 259.329 282.488 47 1 282.493 298.905 

Ich brauche 2 Farben für Spalte 1. Und für die y-Achse wird die Spalte 0 ausgewählt, für die x-Achse sind die Spalten 2 und 3 wichtig. Für jede Zeile sollte eine Linie gezeichnet werden. Spalte 2 ist die Startzeit und Spalte 3 ist die Stoppzeit.

2 Solutions collect form web for “Gantt-Plot mit Python-Matplotlib erstellen”

Wenn ich dich richtig verstanden habe, dann möchtest du eine horizontale Linie zwischen den x-Werten der 3. und 4. Spalte zeichnen, wobei y-Wert gleich der Spalte 0 ist. Um eine horizontale Linie mit einem gegebenen y-Wert zwischen zwei x zu zeichnen -Werte, können Sie hlines . Ich glaube, der Code unten ist eine mögliche Lösung.

 import numpy as np import matplotlib.pyplot as plt # Read data from file into variables y, c, x1, x2 = np.loadtxt('data.txt', unpack=True) # Map value to color color_mapper = np.vectorize(lambda x: {0: 'red', 1: 'blue'}.get(x)) # Plot a line for every line of data in your file plt.hlines(y, x1, x2, colors=color_mapper(c)) 

Die resultierende Ausgabe

Sie können die Textdatei beispielsweise mit numpy.loadtxt lesen und dann mit matplotlib . Beispielsweise:

 import numpy as np import matplotlib.pyplot as plt x, y = np.loadtxt('file.txt', usecols=(2,3), unpack=True) plt.plot(x,y) 

Sie sollten die Matplotlib-Dokumentation für weitere Optionen sehen.

  • MatPlotLib Hinzufügen von Farbbalken nach Colorbar
  • Python / Matplotlib: loswerden matplotlib.mpl Warnung
  • Verwenden eines Pandas-Dataframe-Index als Werte für x-Achse in Matplotlib-Plot
  • Bewegliche Matplotlib-Legende außerhalb der Achse macht es abschneiden durch die Figur-Box
  • Wie kann man die Pandas Dataframe / Seriendaten als Figur speichern?
  • Führen Sie Python-Skript in IPython mit Inline / Embedded-Plots
  • Matplotlib: wie man figure.canvas auffrischen kann
  • Welches ist die empfohlene Art zu zeichnen: matplotlib oder pylab?
  • Time.sleep () benötigt, um QThread reaktionsfähig zu halten?
  • Histogramm der Zeit
  • Wie man ausdrücklich y-Achse mit Python aufgibt
  • Python ist die beste Programmiersprache der Welt.