Dies ist ein bisschen schwierig, da nicht alle Teile komplett fertig sind, aber es ist das Ziel der Arbeit, die ich in heatmaply begann zu diesem Punkt zu gelangen. Wenn Sie daran interessiert sind, mit plotly interaktive Heatmaps mit Dendrogramm zu erstellen, dann sollten Sie sich die heatmaply vignette ansehen.
Wenn Sie an einer statischen Heatmap interessiert sind, glaube ich, dass bestehende Pakete bereits einen guten Job machen, also ist es wahrscheinlich nicht wert, dieses Rad neu zu erfinden. Aber wenn dies noch ist das, was Sie tun möchten, sind hier die wichtigsten Schritte für sie:
- das Dendrogramm Objekt
- Grundstück das Dendrogramm Objekt in ggplot2
- schaffen die Heatmap in einer Art und Weise erzeugen das würde respektieren, die Reihenfolge der Zeilen (oder Spalten aus dem Dendrogramm
- die Objekte verschmelzen.
Schritt 1 hclust
und as.dendrogram
verwenden kann, Schritt 2 erfordert t er [as.ggdend][2]
Funktion von dendextend. Schritt 3 kann mit heatmaply :: heatmapr + heatmaply ::: ggplot_heatmap durchgeführt werden (was derzeit verborgen ist, aber in Zukunft für diese Art von Dingen verfügbar sein wird). Schritt 4 ist knifflig, ich konnte es bisher nicht "gut genug" zum Arbeiten bringen, da die Proportionen der Elemente nicht gut sind.
Ich wickelte dies in eine neue ggheatmap-Funktion und lud es einfach auf heatmaply on github. Aber das erfordert mehr Arbeit, also bin ich offen für Anfragen. In der Zwischenzeit ist hier, wie es geht:
devtools::install_github("ropensci/plotly") # you will probably benefit from the latest version of plotly
devtools::install_github('talgalili/heatmaply')
library(heatmaply)
x <- heatmapr(iris[,-5], scale = "column", colors = "Blues")
ggheatmap(x)
Die Ausgabe sieht wie folgt aus:

Da ich GGally::ggmatrix
bin mit scheine ich nicht die Proportionen der einzelnen zu steuern Objekt. Es gibt wahrscheinlich mehr in anderer Hinsicht zu tun (wie mit dem Layout der Etiketten zu tun, das Hinzufügen von Farbe Legende auf der Seite - etc.)
Vielleicht hilft dir das 'ggdendro'-Paket dabei? – Warner
Es gibt ein großartiges Beispiel [hier] (https: // plot.ly/ggplot2/ggdendro-dendrograms /) mit 'ggdendro' und' plotly' –
@MattSandgren Ich ermutige Sie, dendentend zu betrachten. Es hat eine Verzweigung zum Erstellen von Dendrogrammen mit ggplot2, die grafische Parameter wie die Farbe und Linienbreite des Baums erhalten. Siehe hier: https://cran.r-project.org/web/packages/deendendend/vignettes/introduction.html#ggplot2-integration –