溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

R語言ggplot2怎么畫四方形的熱圖并展示相關系數

發(fā)布時間:2021-11-22 15:06:31 來源:億速云 閱讀:543 作者:柒染 欄目:大數據

R語言ggplot2怎么畫四方形的熱圖并展示相關系數,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

 接下來是文字版

第一步是做相關性分析,獲得相關系數

R語言里做相關性分析需要準備的數據格式如下:每行是一個樣本,每列是一個變量,存儲到excel中,然后另存為csv格式數據

R語言ggplot2怎么畫四方形的熱圖并展示相關系數  
image.png

需要示例數據的可以直接在文末留言

 首先是讀入數據
df<-read.csv("example_data/cor_plot_example.csv",
             header=T,
             row.names = 1)
df
   相關性分析

直接用cor()函數獲得相關系數矩陣

cordf<-cor(df)
cordf
   相關系數矩陣是寬格式的數據,ggplot2作圖通常是長格式數據,把寬格式變成長格式直接使用reshape2包中的melt()函數就可以了
plotdf<-reshape2::melt(cordf)
plotdf
   接下來就是用ggplot2畫圖了

最基本的熱圖

library(ggplot2)
ggplot(plotdf,aes(x=Var1,y=Var2))+
  geom_tile(aes(fill=value))
 
R語言ggplot2怎么畫四方形的熱圖并展示相關系數  
image.png
 更改配色
ggplot(plotdf,aes(x=Var1,y=Var2))+
  geom_tile(aes(fill=value))+
  scale_fill_gradient2(low="green",mid="white",high = "red")
 
R語言ggplot2怎么畫四方形的熱圖并展示相關系數  
image.png
 將相關系數的數值作為文字標簽
ggplot(plotdf,aes(x=Var1,y=Var2))+
  geom_tile(aes(fill=value))+
  scale_fill_gradient2(low="green",mid="white",high = "red")+
  geom_text(aes(label=value))
 
R語言ggplot2怎么畫四方形的熱圖并展示相關系數  
image.png
 相關系數的小數位數太多,我們只保留兩位
plotdf$value<-round(plotdf$value,2)
ggplot(plotdf,aes(x=Var1,y=Var2))+
  geom_tile(aes(fill=value))+
  scale_fill_gradient2(low="green",mid="white",high = "red")+
  geom_text(aes(label=value))
 
R語言ggplot2怎么畫四方形的熱圖并展示相關系數  
image.png
 這樣最基本的熱圖就做好了,接下來是簡單的美化

包括去掉灰色背景,去掉坐標軸的標題和小短線

ggplot(plotdf,aes(x=Var1,y=Var2))+
  geom_tile(aes(fill=value))+
  scale_fill_gradient2(low="green",mid="white",high = "red")+
  geom_text(aes(label=value))+
  theme(panel.background = element_blank(),
        axis.title = element_blank(),
        axis.ticks = element_blank())
 
R語言ggplot2怎么畫四方形的熱圖并展示相關系數   

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI