您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關如何用R語言畫堆積柱形圖以及時間格式數據做坐標軸的操作,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
今天的推文內容我們來學習一下論文中的 Extended Data Fig. 3a ,堆積柱形圖
這個圖是使用R語言的ggplot2包實現,用到的函數是geom_bar(),數據如果是離散變量,通常只需要一列數據就可以,出圖以后柱子的高度展示的是這個變量出現的次數,下面我們構造一份數據
df<-data.frame(axis.x=c(rep("A",3),
rep("B",5),
rep("D",4)))
df
ggplot2畫圖
ggplot(data=df,aes(x=axis.x))+
geom_bar()
如果要搞成堆積柱形圖的形式,在添加一列新的變量用來填充顏色
df<-data.frame(axis.x=c(rep("A",3),
rep("B",5),
rep("D",4)),
axis.y=c(sample(c("apple","orange","banana"),
12,replace=T)))
df
library(ggplot2)
ggplot(data=df,aes(x=axis.x))+
geom_bar(aes(fill=axis.y))
以上是基本內容,接下來我們看一下論文中的數據和代碼
bar_data <- readr::read_csv("Single_Cell/covid-19-sse-master/data/bar_data.csv")
bar_data
ggplot(data=bar_data) +
geom_bar(aes(x = epi.date, fill = cluster.generation), width = 0.9) +
scale_x_date(name = "Onset Date",
date_breaks = "2 days",
date_labels = "%d %b",
minor_breaks = NULL) +
scale_y_continuous("Case Count", expand = c(0,0), breaks = seq(0,16, by = 2), limits = c(0,16)) +
theme_classic() +
theme(#aspect.ratio = 0.3,
legend.position = 'none',
axis.text.x = element_text(angle = 45, hjust = 1 )) +
scale_fill_viridis_d()
這里學習到了一個新的知識點:ggplot2作圖x軸如果是時間格式的數據默認顯示的是 日加月份,這個時候如果要更改x軸的標簽需要用到
scale_x_date()
函數
ggplot(data = economics, aes(x = date, y = psavert)) +
geom_line(color = "steelblue")+
theme_bw()+
scale_x_date(breaks = '1 year')+
theme(axis.text.x = element_text(hjust=1,vjust=0.5,angle=90))
breaks的參數可選
日期的顯示格式
如果只想顯示年
ggplot(data = economics, aes(x = date, y = psavert)) +
geom_line(color = "steelblue")+
theme_bw()+
scale_x_date(breaks = '1 year',
date_labels = "%Y")+
theme(axis.text.x = element_text(hjust=1,vjust=0.5,angle=90))
還可以更改年月日之間的分隔符
ggplot(data = economics, aes(x = date, y = psavert)) +
geom_line(color = "steelblue")+
theme_bw()+
scale_x_date(breaks = '1 year',
date_labels = "%Y,%B,%d")+
theme(axis.text.x = element_text(hjust=1,vjust=0.5,angle=90))
這里我遇到的問題是:我的月份默認顯示的是中文,如何將他改成英文呢?
還可以只選取一定的范圍
min <- as.Date("2002-1-1")
max <- NA
ggplot(data = economics, aes(x = date, y = psavert)) +
geom_line(color = "steelblue")+
theme_bw()+
scale_x_date(breaks = '1 year',
date_labels = "%Y,%B,%d",
limits = c(min,max))+
theme(axis.text.x = element_text(hjust=1,vjust=0.5,angle=90))
上述就是小編為大家分享的如何用R語言畫堆積柱形圖以及時間格式數據做坐標軸的操作了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。