91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

R語言ggplot2怎樣畫帶有空白格的熱圖

發布時間:2021-11-22 15:12:56 來源:億速云 閱讀:497 作者:柒染 欄目:大數據

本篇文章為大家展示了R語言ggplot2怎樣畫帶有空白格的熱圖,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

R語言ggplot2怎樣畫帶有空白格的熱圖  
image.png

之前有人在公眾號留言問文章開頭這幅圖如何實現,下面的B圖是折線圖加柱形圖,相對比較容易實現,上面的A圖稍微有點復雜,我想到的辦法是拼圖,圖A可以看成三個熱圖,然后加一個堆積柱形圖,最后將四個圖組合到一起。那就按照這個思路試一下看能不能實現。

 

首先畫熱圖

這個熱圖和常規的還稍微有點不太一樣,可以簡單的理解為帶有缺失值的熱圖,缺失值是空白格,其他值分別填充顏色。

那我們就按照這個思路來構造數據

R語言ggplot2怎樣畫帶有空白格的熱圖  
image.png

將數據集按照以上格式整理好,存儲在csv文件中。

 首先是讀入數據
df<-read.csv("example_data/ggplot2_heatmap.csv",header=T)
   以上數據是寬格式,借助reshape2這個包中的melt函數將寬格式轉變為長格式
df1<-reshape2::melt(df)
   ggplot2畫熱圖
library(ggplot2)
ggplot(df1,aes(x=variable,y=A))+
  geom_tile(aes(fill=value),color="black")+
  theme(panel.background = element_blank())
 
R語言ggplot2怎樣畫帶有空白格的熱圖  
image.png
 這個地方遇到一個問題是缺失值如何給他填充為白色,我想到的辦法是給缺失值賦值為0,然后將0,1,2,3離散化處理,然后分別分配顏色
df1$value1<-ifelse(is.na(df1$value),0,df1$value)
df1$value1<-as.factor(df1$value1)
summary(df1)
ggplot(df1,aes(x=variable,y=A))+
  geom_tile(aes(fill=value1),color="black")+
  scale_fill_manual(values = c("white","red","red2","red4"))+
  theme(panel.background = element_blank())
 
R語言ggplot2怎樣畫帶有空白格的熱圖  
image.png

這樣是不是和文章開頭提到的圖有點像了。

 

接下來是美化

 調整一下y軸的的順序
df1$A<-factor(df1$A,levels = rev(df$A))
ggplot(df1,aes(x=variable,y=A))+
  geom_tile(aes(fill=value1),color="black")+
  scale_fill_manual(values = c("white","red","red2","red4"))+
  theme(panel.background = element_blank())
 
R語言ggplot2怎樣畫帶有空白格的熱圖  
image.png
 將X軸放到頂部
ggplot(df1,aes(x=variable,y=A))+
  geom_tile(aes(fill=value1),color="black")+
  scale_fill_manual(values = c("white","orangered","red2","red4"))+
  scale_x_discrete(position = "top")+
  theme(panel.background = element_blank(),
        axis.title = element_blank(),
        axis.ticks = element_blank(),
        axis.text.x.top = element_text(angle = 90,
                                       hjust = 0,
                                       vjust= 0.5),
        plot.title = element_text(hjust=0.5),
        legend.position = "none")+
  labs(title = "Plant growth and development")
 
R語言ggplot2怎樣畫帶有空白格的熱圖  
image.png
 標題的下滑線如何用代碼添加我暫時還不知道,直接出圖后手動編輯吧。上面的圖還忘記添加文字標簽了,下面補上
ggplot(df1,aes(x=variable,y=A))+
  geom_tile(aes(fill=value1),color="black")+
  scale_fill_manual(values = c("white","orangered","red2","red4"))+
  scale_x_discrete(position = "top")+
  theme(panel.background = element_blank(),
        axis.title = element_blank(),
        axis.ticks = element_blank(),
        axis.text.x.top = element_text(angle = 90,
                                       hjust = 0,
                                       vjust= 0.5),
        plot.title = element_text(hjust=0.5),
        legend.position = "none")+
  labs(title = "Plant growth and development")+
  geom_text(aes(label=value1,color=value1))+
  scale_color_manual(values = c("white","black","black","black"))
 
R語言ggplot2怎樣畫帶有空白格的熱圖  

上述內容就是R語言ggplot2怎樣畫帶有空白格的熱圖,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

盘锦市| 台北县| 锦州市| 太谷县| 伊宁县| 蒙自县| 固镇县| 焉耆| 蒙阴县| 固安县| 卓尼县| 涡阳县| 香格里拉县| 木兰县| 枣阳市| 思茅市| 阿拉善盟| 哈密市| 广平县| 即墨市| 陇川县| 赫章县| 延长县| 石阡县| 贵州省| 泸州市| 潮安县| 枣阳市| 新乡市| 乌拉特中旗| 陈巴尔虎旗| 油尖旺区| 逊克县| 行唐县| 阳山县| 乐亭县| 旬邑县| 浮梁县| 龙泉市| 关岭| 周宁县|