Sto usando scipy-cluster per generare un clustering gerarchico su alcuni dati. Come passaggio finale dell'applicazione, chiamo la funzione dendrogram
per tracciare il clustering. Sono in esecuzione su Mac OS X Snow Leopard utilizzando il built-in Python 2.6.1 e this matplotlib package. Il programma funziona bene, ma alla fine l'icona di Rocket Ship (come ho capito, questo è il lanciatore per le applicazioni GUI in python) si presenta e scompare immediatamente senza fare nulla. Non viene mostrato nulla Se aggiungo un 'raw_input' dopo la chiamata, rimbalza su e giù nel dock per sempre. Se eseguo una semplice applicazione di esempio per matplotlib dal terminale, funziona correttamente. Qualcuno ha qualche esperienza su questo?Dendrogram generato da scipy-cluster non mostra
risposta
Ho avuto lo stesso problema su Ubuntu 10.04. Al fine di ottenere grafica per visualizzare da ipython console interattiva, avviarlo con interruttore "-pylab", che consente l'uso interattivo di matplotlib:
ipython -pylab
Per ottenere la grafica per visualizzare durante l'esecuzione di uno script standalone , usa la chiamata matplotlib.pyplot.show. Ecco un esempio dalla homepage hcluster, la prima e l'ultima linea sono i bit significativi qui:
from matplotlib.pyplot import show
from hcluster import pdist, linkage, dendrogram
import numpy
from numpy.random import rand
X = rand(10,100)
X[0:5,:] *= 2
Y = pdist(X)
Z = linkage(Y)
dendrogram(Z)
show()
Invocare ipython con interruttore "-pylab" non ha fatto la differenza per me. (Sistema: Fedora 13)
Anche se non ideale, la mia soluzione era quella di scrivere esplicitamente la figura risultante come un file. Per esempio:
...
dendrogram(Z)
pylab.savefig("temp.png")
Spero che questo aiuti chiunque è in esecuzione nello stesso problema.
Modifica: Fare attenzione utilizzando semplicemente copia-e-incolla con breve tutorial del pacchetto hcluster, in particolare in che se si chiama pylab.savefig() dopo alcuni tipi di disegno dendrogram mostrato nel tutorial, vale a dire
distMat = # whatever distance matrix you have
dendrogram(linkage(distMat))
pylab.savefig("exampleDendrogram.png")
dendrogram(linkage(distMat, method="complete")) #instead of default "single"
pylab.savefig("exampleDendrogram.png")
Quindi exampleDendrogram.png conterrà sia il dendrogramma a collegamento singolo che il dendrogramma di collegamento completo nella stessa figura, e probabilmente si incroceranno e sembreranno un disastro.
Se sei stupido come me, si spenderà 30-180 minuti in confusione su come usare correttamente hcluster, quando in realtà è solo una questione di reset matplotlib tra dendrogram chiamate:
distMat = # whatever distance matrix you have
dendrogram(linkage(distMat))
pylab.savefig("exampleDendrogram1.png")
pylab.cla()
dendrogram(linkage(distMat, method="complete")) #instead of default "single"
pylab.savefig("exampleDendrogram2.png")
Ora, i risultanti file di immagine del dendrogramma avranno l'aspetto che ti aspetti da loro.
- 1. Mostra un altro modulo adiacente a quello generato da C#
- 2. Nascondi elemento, ma mostra contenuto generato CSS
- 3. IllegalArgumentException generato da requestLocationUpdate()
- 4. Catturare l'HTML generato da ASP.NET
- 5. Genera PDF da .docx generato da PHPWord
- 6. Pulsante personalizzato ereditato da TButton non mostra
- 7. non può derivare (mostra) da questa espressione
- 8. Redirect/Mostra Visualizzazione dopo file generato viene dowloaded
- 9. Come inserire le etichette sui bordi nell'esempio Dendrogram?
- 10. getElementById non trova il controllo generato da ASP.net
- 11. IntelliJ IDEA non può vedere il codice generato da Lombok
- 12. gdb che non rileva std :: out_of_range generato da vettore
- 13. Il progetto Xcode generato da CMake non riesce a trovare i "prodotti" binari creati da Xcode
- 14. R.java non generato automaticamente Eclipse
- 15. Codice file risorse non generato
- 16. Stile HTML generato da Microsoft Word
- 17. Come personalizzare package-info.java generato da JAXB2
- 18. Codifica file JS generato da TypeScript
- 19. Rappresentazione grafica del DAG generato da make?
- 20. Riflessione di avvertimento in codice generato da Clojure macro
- 21. codice intesa generato da Yesod TH persistente
- 22. Rimuovi standalone = "sì" da xax generato xml
- 23. tipo Collection generato da per con resa
- 24. Perché std :: bad_cast generato da boost :: locale?
- 25. Come visualizzare SQL generato da Entity Framework?
- 26. Nome apk generato da "app-debug.apk"
- 27. Entity Framework l'ordine sql generato da Savechanges()
- 28. Come si compila l'asm generato da GCC?
- 29. Timer generato da attività e attività generate da timer
- 30. MahApps.Metro icona non mostra