2016-06-09 2 views
0

Gibt es Möglichkeiten, einen Datensatz mit ungleicher Länge von x und y auf einer quadratischen Figur anzupassen, um eine kontinuierliche Heatmap zu erstellen?Erstellen einer fortlaufenden Heatmap auf einer quadratischen Figur für einen Datensatz mit ungleicher Länge von x und y

Der Datensatz enthält einen Datensatz mit 10 Zeilen (y-Achse) und 1000 Spalten (x-Achse). Meine Absicht ist es, eine kontinuierliche Heatmap zu zeichnen und diese Heatmap sollte ein Quadrat mit ggplot2 sein. Hier

ist das Beispiel:

df<- data.frame(matrix(runif(10000,1,100), nrow=10)) 

Vielen Dank.

+0

Es ist mir nicht ganz klar, was Sie fordern. Im Allgemeinen werden die Standardfunktionen "heatmap" und "heatmap.2" eine quadratische Zahl darstellen. In deinem Fall wären die Zellen also größer als breit. – fanli

Antwort

2

Sie müssen die Daten in ein langes Format umwandeln. Sie können melt Funktion von reshape2 Paket verwenden, um es zu tun.

library(ggplot2) 
library(reshape2) 

m <- matrix(runif(10000, 1, 100), nrow=10) 
ggplot(melt(m), aes(x=Var2, y=Var1, fill=value)) + geom_tile() 

enter image description here

Sie können den Plot in Platz in coord_fixed von ratio Argument ändern.

# Adjust the ratio 
ggplot(melt(m), aes(x=Var2, y=Var1, fill=value)) + geom_tile() + 
    coord_fixed(ratio=100) 

enter image description here

+0

Können Sie die Handlung in einem Quadrat machen? –

+0

Sie meinen die ganze Handlung als Quadrat oder die einzelne Zelle als Quadrat? – JasonWang

+0

Sie können 'coord_fixed' verwenden, um das Diagramm anzupassen. Ich aktualisiere ein Beispiel. – JasonWang

Verwandte Themen