2015-04-02 17 views
2

我發現這個簡單的方法使用GGPLOT2創建相關熱圖:R - 使用ggplot2創建的相關熱圖:如何翻轉y軸上的標籤?

data(attitude) 
library(ggplot2) 
library(reshape2) 
ggplot(melt(cor(attitude)), aes(Var1, Var2)) + 
    geom_tile(aes(fill = value)) 

現在相關矩陣我平時看到的有差異的主對角線上,而不是在antidiagonal。

這個我試過用rev()命令來完成:

ggplot(melt(cor(attitude)), aes(Var1, rev(Var2))) + 
    geom_tile(aes(fill = value)) 

其中細如遠的工作,方格內配色方案關注。但y軸上的標籤保持不變!我能做些什麼? 我寧願不用手工輸入正確的順序,因爲我的實際代碼應該適用於任意數據集。

回答

2

我以前也有這個問題,在這裏找到答案: https://stackoverflow.com/a/14630937/4090947

Basicly:

data(attitude) 
library(ggplot2) 
library(reshape2) 

ggplot(melt(cor(attitude)), aes(Var1, ordered(Var2, levels =  rev(sort(unique(Var2)))))) + 
geom_tile(aes(fill = value)) 

這種反轉的Y軸

由於列名是分立的關鍵是將字符串(列名)轉換爲因子。一旦你有因素,你可以改變順序。

相關問題