溫馨提示×

溫馨提示×

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

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

R語言單元格為方塊的熱圖舉例分析

發(fā)布時間:2021-11-22 15:51:51 來源:億速云 閱讀:465 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要講解了“R語言單元格為方塊的熱圖舉例分析”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“R語言單元格為方塊的熱圖舉例分析”吧!

R語言單元格為方塊的熱圖舉例分析  
image.png

我選擇使用R語言的ggplot2來實現(xiàn),這個是箱線圖和熱圖的拼接,右側的熱圖可以借助geom_point()函數(shù)實現(xiàn),將點的形狀改為正方塊,數(shù)值按照正負來映射顏色,按照一定的數(shù)值來映射大小。

 首先構造一份數(shù)據(jù)集
set.seed("20200407")
x<-seq(-1,1,by=0.001)
df<-data.frame(matrix(sample(x,90),nrow = 6))
head(df)
colnames(df)<-paste0("Y",1:15)
rownames(df)<-paste0("X",1:6)
write.csv(df,file = "20210407_example.csv",quote = F)
 
R語言單元格為方塊的熱圖舉例分析  
image.png

這樣是寬格式數(shù)據(jù),ggplot2作圖需要整理成長格式

df<-read.csv("20210407_example.csv",header=T)
head(df)
df1<-reshape2::melt(df,id.vars="Sample")
head(df1)
 
R語言單元格為方塊的熱圖舉例分析  
image.png
 構造數(shù)據(jù)
library(dplyr)
df1%>%
  mutate(group_1 = case_when(
    value <= 0 ~ "A",
    TRUE ~ "B"
  ))%>%
  mutate(group_2=case_when(
    value >= -1 & value < -0.7 ~ "[-1,-0.7)",
    value >= -0.7 & value < -0.5 ~ "[-0.7,-0.5)",
    value >= -0.5 & value < -0.3 ~ "[-0.5,-0.3)",
    value >= -0.3 & value <= 0 ~ "[-0.3,0]",
    value > 0 & value <= 0.3 ~ "(0,0.3)",
    value > 0.3 & value <= 0.5 ~ "(0.3,0.5]",
    value > 0.5 & value <= 0.7 ~ "(0.5,0.7]",
    value > 0.7 & value <= 1 ~ "(0.7,1]",
  ))%>%
  mutate(value_1=case_when(
    value >= -1 & value < -0.7 ~ -0.8,
    value >= -0.7 & value < -0.5 ~ -0.6,
    value >= -0.5 & value < -0.3 ~ -0.4,
    value >= -0.3 & value <= 0 ~ -0.2,
    value > 0 & value <= 0.3 ~ 0.2,
    value > 0.3 & value <= 0.5 ~ 0.4,
    value > 0.5 & value <= 0.7 ~ 0.6,
    value > 0.7 & value <= 1 ~ 0.8,
  )) -> df2
   構造數(shù)據(jù)用于添加線段
df3<-data.frame(
  x = seq(1.5,5.5,1),
  xend = seq(1.5,5.5,1),
  y = -Inf,
  yend = Inf
)
df3
df4<-data.frame(
  x = -Inf,
  xend = Inf,
  y = seq(1.5,14.5,1),
  yend = seq(1.5,14.5,1)
)
   畫圖
library(ggplot2)
ggplot(data=df2,aes(x=Sample,y=variable))+
  geom_point(aes(size=abs(value_1),
                 color=factor(value_1)),
             shape=15)+
  scale_color_manual(values = c(rep("#fe0000",4),rep("#009ccc",4)))+
  theme_bw()+
  theme(panel.grid = element_blank(),
        panel.border = element_rect(color="grey"),
        axis.ticks = element_blank())+
  geom_segment(data=df3,aes(x=x,xend=xend,y=y,yend=yend),
               color="grey")+
  geom_segment(data=df4,aes(x=x,xend=xend,y=y,yend=yend),
               color="grey")+
  scale_size_continuous(range = c(2,10))+
  scale_y_discrete(position = "right")+
  labs(x=NULL,y=NULL)
 
R語言單元格為方塊的熱圖舉例分析  
image.png

這里遇到的問題是如何讓圖例想推文開頭的圖片一樣:一個圖例就能夠既反映大小又有顏色呢?而且圖例的排布是從打到小然后又從小到大。這個如何用代碼實現(xiàn)呢?暫時不知道了,手動編輯吧,可能得費一些時間

R語言單元格為方塊的熱圖舉例分析  
image.png

感謝各位的閱讀,以上就是“R語言單元格為方塊的熱圖舉例分析”的內容了,經(jīng)過本文的學習后,相信大家對R語言單元格為方塊的熱圖舉例分析這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節(jié)

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

AI