免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

ggplot2如何畫散點圖拼接密度圖

ggplot2如何畫散點圖拼接密度圖,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于成都網(wǎng)站設計、網(wǎng)站建設、觀山湖網(wǎng)絡推廣、微信小程序、觀山湖網(wǎng)絡營銷、觀山湖企業(yè)策劃、觀山湖品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學生創(chuàng)業(yè)者提供觀山湖建站搭建服務,24小時服務熱線:028-86922220,官方網(wǎng)址:m.newbst.com

ggplot2如何畫散點圖拼接密度圖  
image.png

前幾天有一個讀者在公眾號留言問上面這幅圖應該如何實現(xiàn),我想到一個辦法是利用ggplot2分別畫散點圖和密度圖,然后利用aplot包來拼圖,aplot包是ggtree的作者新開發(fā)的一個包,非常重要的一個作用就是解決拼圖的時候坐標軸對齊的問題。這個aplot包的用法大家可以在微信搜索里直接搜aplot就可以直接找到原作者寫的推文的介紹,而且這個公眾號經(jīng)常推送R語言的學習內(nèi)容,非常好,作者是真正的大神級別的人物了。

 

aplot包:讓你畫出更復雜的圖

好了下面就開始介紹具體的實現(xiàn)過程

 首先是模擬數(shù)據(jù)

生成兩列符合正態(tài)分布的數(shù)據(jù),然后組合成一個數(shù)據(jù)框

x<-rnorm(500,0,1)
y<-rnorm(500,0,2)
df<-data.frame(x=x,y=y)
head(df)
 

先做一個簡單的散點圖

library(ggplot2)ggplot(df,aes(x=x,y=y))+  geom_point()
 
ggplot2如何畫散點圖拼接密度圖  
image.png

按照Y軸的范圍填充三個顏色,比如大于3填充一個,小于-3填充另外一種,-3到3中間的填充另外一種

給數(shù)據(jù)添加一列新的用來映射顏色

df$color<-ifelse(df$y>3,"A",
                 ifelse(df$y<(-3),"B","D"))
head(df)
 

畫圖

ggplot(df,aes(x,y))+
  geom_point(aes(color=color))+
  scale_color_manual(values=c("green","blue","grey"))+
  theme_bw()
 
ggplot2如何畫散點圖拼接密度圖  
image.png

接下來是添加輔助線

ggplot(df,aes(x,y))+
  geom_point(aes(color=color))+
  scale_color_manual(values=c("green","blue","grey"))+
  theme_bw()+
  geom_hline(yintercept = -3,lty="dashed")+
  geom_hline(yintercept = 3,lty="dashed")+
  geom_vline(xintercept = -2,lty="dashed")
 
ggplot2如何畫散點圖拼接密度圖  
image.png
 接下來是密度圖
ggplot(df,aes(x))+
  geom_density(fill="grey",alpha=0.5)+
  scale_y_continuous(expand = c(0,0))+
  theme_minimal()+
  theme(axis.title = element_blank(),
        axis.text = element_blank(),
        axis.ticks = element_blank())
 
ggplot2如何畫散點圖拼接密度圖  
image.png

y軸的密度分布也是這樣畫,下面就不重復了

 接下來是拼圖
library(ggplot2)
library(aplot)
p1<-ggplot(df,aes(x,y))+
  geom_point(aes(color=color))+
  scale_color_manual(values=c("green","blue","grey"))+
  theme_bw()+
  geom_hline(yintercept = -3,lty="dashed")+
  geom_hline(yintercept = 3,lty="dashed")+
  geom_vline(xintercept = -2,lty="dashed")

p2<-ggplot(df,aes(x))+
  geom_density(fill="grey",alpha=0.5)+
  scale_y_continuous(expand = c(0,0))+
  theme_minimal()+
  theme(axis.title = element_blank(),
        axis.text = element_blank(),
        axis.ticks = element_blank())

p3<-ggplot(df,aes(y))+
  geom_density(fill="grey",alpha=0.5)+
  scale_y_continuous(expand = c(0,0))+
  theme_minimal()+
  theme(axis.title = element_blank(),
        axis.text = element_blank(),
        axis.ticks = element_blank())+
  coord_flip()
p1%>%
  insert_top(p2,height = 0.5)%>%
  insert_right(p3,0.5)
 
ggplot2如何畫散點圖拼接密度圖  
image.png

看完上述內(nèi)容,你們掌握ggplot2如何畫散點圖拼接密度圖的方法了嗎?如果還想學到更多技能或想了解更多相關內(nèi)容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

標題名稱:ggplot2如何畫散點圖拼接密度圖
URL地址:http://m.newbst.com/article14/gsegde.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣網(wǎng)站改版App設計品牌網(wǎng)站建設微信公眾號響應式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網(wǎng)站建設