2017-07-25 17 views
0

Ich möchte ein Python-Skript erstellen, das matplotlib-Diagramme entlang der horizontalen Achse vergrößert und verkleinert. Mein Diagramm besteht aus einer Reihe horizontaler Balkendiagramme.python matplotlib Grafik als Datendatei speichern

Ich möchte auch, dass jede generische Matplotlib-Grafik nehmen kann.

Ich möchte nicht nur ein Bild laden und hineinzoomen, ich möchte in das Diagramm entlang der horizontalen Achse hineinzoomen. (Ich weiß, wie man das macht)

Gibt es eine Möglichkeit, ein erstelltes Diagramm als Datendatei zu speichern und zu laden oder gibt es ein Objekt, das ich später speichern und laden kann?

(in der Regel, würde ich meine Graph erschaffen und sie dann mit dem matplotlib plt.show anzeigt, aber die Diagrammerstellung braucht Zeit, und ich will nicht um die Grafik erstellen jedes Mal, ich mag es anzuzeigen)

+0

Möchten Sie das Diagramm oder die zugrunde liegenden Daten speichern? –

+0

@DavidZ Die zugrunde liegenden Daten, das Array oder was auch immer die Graphdaten enthält. – azazelspeaks

+0

Vielleicht können Sie Pickle verwenden, um Ihr Objekt zu speichern und später wieder zu laden? https://docs.python.org/2/library/pickle.html –

Antwort

1

Sie können das pickle Paket zum Speichern Ihrer Achsen verwenden und es dann wieder laden.

Speichern Ihr Grundstück in eine pickle Datei:

import pickle 
import matplotlib.pyplot as plt 
ax = plt.plot([1,2,5,10]) 
pickle.dump(ax, open("plot.pickle", "wb")) 

und laden Sie es dann wieder:

import pickle 
import matplotlib.pyplot as plt 
ax = pickle.load(open("plot.pickle", "rb")) 
plt.show() 
+0

Ich benutze fig, (graph, label_texts) = pltplots (2,1, gridspec_kw = {'height_ratios': [4.5, 1]}) um meine Plots zu generieren. und dann Ich versuche pickle.dump (fig, file (file_name.split ('.') [0] + '_ graph.pickle',' w ')) was mir gibt: Kann die Funktion bei 0x0CB02FB0> nicht pürieren:: sie wird nicht als generate_graph gefunden. Das scheint ein Problem bei der Erstellung meines Bildes zu sein. Irgendwelche Gedanken? @ Cedric – azazelspeaks

+0

Versuchen Sie 'pickle.dump (fig, öffnen Sie (" plot.pickle "," wb "))'. Ich denke, Sie sollten 'open' anstelle von' file' verwenden –

+0

Ich bekomme den gleichen Fehler. Ich nehme an, es ist ein Pickelproblem und nicht das offene Ding. – azazelspeaks

0

@ Cedrics Antwort.

Wenn Sie außerdem den Beizfehler für Beizfunktionen erhalten, fügen Sie Ihrem Beizskript die Bibliothek "dill" hinzu. Sie müssen es nur am Anfang importieren, es erledigt den Rest.

Verwandte Themen