Ich würde gerne fragen, wie ich eine Seaborn Figur in wxPython
Panel einbetten könnte.Embedding Seaborn Grundstück in WxPython Panel
Ähnlich wie diese post, ich möchte eine externe Figur in einem wxPython
Panel einbetten. Ich möchte ein spezifisches Panel meiner wxPython
GUI haben, um die Dichtekonturen meiner Daten basierend auf Bandbreitenwerten eines Gaußschen Kerns gemäß Seaborns kdeplot Funktion zusammen mit einem Punktdiagramm der Datenpunkte zu plotten. Hier ist ein Beispiel dafür, was Ich mag in der Platte werden aufgetragen würde:
Bisher habe ich es geschafft zu bekommen, was ich in einer separaten Figur wollen aus den wxPython
panel.Is es möglich, ein Seaborn Grundstück einzubetten in einem wxPython
Panel oder sollte eine alternative Möglichkeit finden zu implementieren, was ich will?
Unten ist der spezifische Teil meines Code, den das Grundstück für den Fall erzeugt es gebraucht wird:
import seaborn as sns
import numpy as np
fig = self._view_frame.figure
data = np.loadtxt(r'data.csv',delimiter=',')
ax = fig.add_subplot(111)
ax.cla()
sns.kdeplot(data, bw=10, kernel='gau', cmap="Reds")
ax.scatter(data[:,0],data[:,1], color='r')
fig.canvas.draw()
Dieser Teil des Code Plots im WxPython Panel die verstreuten Datenpunkten und schafft eine externe Figur für die Dichte Konturen. Aber, wenn ich ax.sns.kdeplot(...)
versuchen erhalte ich die Fehler
Attribute Error: AxesSubplot object has not attribute .sns
Ich weiß nicht, ob ich eine Seaborn Figur in wxPython
Panel einbetten können oder sollte ich es auf eine andere Weise versuchen umzusetzen. Irgendwelche Vorschläge?
Vielen Dank im Voraus.
Seaborn ('sns') verwendet MPL, aber es ist eine völlig separate Bibliothek. "ax.sns" ergibt keinen Sinn. Sie möchten "ax" an die Funktion "sns.kdeplot" übergeben. –
Ich tat genau das und es funktioniert wie ein Charme. Ich bemerkte auf der Funktionsseite (http://stanford.edu/~mwaskom/software/seaborn/generated/seaborn.kdeplot.html), dass es einen solchen Parameter akzeptiert. Genauer gesagt zeigt der "ax" -Parameter die ** Achse ** zum Plotten an. Also, in meinem Fall habe ich mich mit meinem Problem beschäftigt, indem ich folgendes gemacht habe: 'sns.kdeplot (Daten, ** ax = ax **, bw = 10, kernel = 'gau', cmap =" Reds ")'. Vielen Dank :). – user3204834