Plotten Venn-Diagramm in Jupyter nach änderungen (matplotlib-venn)

Indem Sie die folgenden Befehle in der matplotlib-venn README kann ich produzieren die ersten Grundstücke in die Beispiele. Allerdings, wenn ich die Einstellungen ändern, das Venn-Diagramm (label, text usw.) Ich kann nicht herausfinden, wie replot der Abbildung. Ausführung:

%matplotlib inline
from matplotlib_venn import venn3
v = venn3([set1, set2, set3], ('Set1', 'Set2', 'Set3'))

gibt das Venn-Diagramm inline. Ich habe dann gehen Sie zum ändern einer Beschriftung

v.get_label_by_id('100').set_text('Arbitrary1')

aber ich kann dann replot der Abbildung. Ich habe versucht

# from matplotlib import pyplot as plt
plt.plot()
plt.plot(v)
v
v()

aber ich bin wirklich das Gefühl im Dunkeln herum. Ich fühle mich wie ich bin fehlt etwas sehr Grundsätzliches über %matplotlib oder die matplotlib plot-Funktion, aber ich habe nicht in der Lage gewesen, eine Antwort zu finden noch online.

Wie kann ich die Handlung dieser Figur wieder in Jupyter?

InformationsquelleAutor Will Bryant | 2017-06-06



2 Replies
  1. 5

    Wenn Sie fig=plt.figure() zum speichern einer Referenz zu Abbildung Beispiel, dann haben Sie Zugang zu der Abbildung in zukünftigen notebook-Zellen. Wenn Sie dies nicht tun, dann werden Sie nicht in der Lage, den Zugriff auf die vorhandene Abbildung im neuen Zellen.

    So, nachdem Sie das label, Sie würde einfach schreiben müssen fig danach wieder zu zeigen, die Abbildung wieder.

    Hier ist ein funktionierendes Beispiel:

    Zelle 1:

    %matplotlib inline
    from matplotlib_venn import venn3
    import matplotlib.pyplot as plt
    fig = plt.figure()
    set1 = set(['A', 'B', 'C'])
    set2 = set(['A', 'D', 'E'])
    set3 = set(['A', 'F', 'B'])
    
    v = venn3([set1, set2, set3], ('Set1', 'Set2', 'Set3'))

    Zelle 2:

    v.get_label_by_id('100').set_text('Arbitrary1')
    fig

    Plotten Venn-Diagramm in Jupyter nach änderungen (matplotlib-venn)

  2. 1

    Den Zustand der pyplot statemachine verloren nach der jupyter Zelle ausgewertet wird. Damit in eine neue Zelle pyplot ist nichts von der zuvor erstellte Abbildung.

    Die Lösung ist, um eine Referenz auf die Abbildung, bevor Sie aus der Zelle. Dies ist entweder durch

    • explizit zuweisen der Abbildung auf eine variable fig=plt.figure() oder
    • der Speicherung der Abbildung in einer Variablen am Ende einer Zelle, fig = plt.gcf()

    In beiden Fällen haben Sie ein Bild-Objekt, um zu zeigen, in späteren Zellen, die durch einfach Eingabe fig.
    Da dies grundsätzlich mit matplotlib in jupyter notebook, das folgende Beispiel nicht nehmen, venn-Diagramme zu berücksichtigen.

    Plotten Venn-Diagramm in Jupyter nach änderungen (matplotlib-venn)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.