我有一些来自实验的蒸发数据,想要用R将其显示为时间序列的线图。我还有一些降水数据,希望在同一张图中以条形图的形式展示。我已经能够使用R的基本程序完成这个任务,但是我想在ggplot中完成。我已经搜索了所有地方,知道设计师们不太喜欢用这种方式制作图表,所以很困难,但我已经看到过使用两个y轴的多条线图/散点图完成该任务。它能够用线图和条形图完成吗?
以下是我在基本R中的代码。
这是我用来制作上述图表的数据。
- 时间序列数据在此处。 Time series data here - 降雨量数据在此处。 Rainfall data here 这是上述图表的代码。
我可以帮助您翻译内容:
以下是我在基本R中的代码。
![Transpiration time series](https://istack.dev59.com/v1geT.webp)
- 时间序列数据在此处。 Time series data here - 降雨量数据在此处。 Rainfall data here 这是上述图表的代码。
attach(summary)
library(Hmisc)
library(scales)
par(mar=c(6.5,4,4,5)+.1)
plot(summary$dates,summary$c_mean_am,type="n",ylim=c(100,350),
main="Stomatal Conductance during experiment",las=1,cex.main=1,
font.lab=2,font.axis=2,cex.axis=0.7,cex.lab=0.8,
ylab=expression('Stomatal conductance'~(m~mol~ m^{2})),,xlab="Date")
lines(dates,c_mean_am,pch=21,cex=0.6,bg="blue",col="blue")
lines(dates,T1_mean_am,pch=21,cex=0.6,bg="yellow",col="yellow")
lines(dates,T2_mean_am,pch=21,cex=0.6,bg="hotpink1",col="hotpink1")
lines(dates,T3_mean_am,pch=21,cex=0.6,bg="orange",col="orange")
lines(dates,T4_mean_am,pch=21,cex=0.6,bg="red",col="red")
with (data = summary , expr = errbar(dates, c_mean_am,
c_mean_am+c_se_am,
c_mean_am-c_se_am,
add=T, pch=21,col="blue",bg="blue",
cex=0.6,cap=0.01,errbar.col="blue"))
with (data = summary , expr = errbar(dates, T1_mean_am,
T1_mean_am+T1_se_am,
T1_mean_am-T1_se_am, add=T,
pch=21,col="yellow",bg="yellow",
cex=0.6,cap=0.01,errbar.col="yellow"))
with (data = summary , expr = errbar(dates, T2_mean_am,
T2_mean_am+T2_se_am,
T2_mean_am-T2_se_am,
add=T, pch=21,col="hotpink1",
bg="hotpink1",cex=0.6,cap=0.01,
errbar.col="hotpink1"))
with (data = summary , expr = errbar(dates, T3_mean_am,
T3_mean_am+T3_se_am,
T3_mean_am-T3_se_am,
add=T, pch=21,col="orange",
bg="orange",cex=0.6,cap=0.01,
errbar.col="orange"))
with (data = summary , expr = errbar(dates, T4_mean_am,
T4_mean_am+T4_se_am,
T4_mean_am-T4_se_am, add=T,
pch=21,col="red",bg="red",
cex=0.6,cap=0.01,errbar.col="red"))
data2<-Rainfall
names(data2)
par(new=TRUE)
graph<-tapply(data2$`daily rainfall`,data2$DATE,I)
barplot(graph,col="light blue",border=NA,xaxt="n",yaxt="n",xlab="",ylab="",ylim=c(0,150))
axis(4,las="1",cex.axis=0.7,font.axis=2)
mtext("Rainfall (mm)",side=4,line=3,font=2,cex=0.8)
这是ggplot时间序列图和相同数据以稍微不同的格式呈现。
以下是代码:
dt<-am_means
attach(dt)
dt$dates <- as.Date(dt$dates,format = "%d/%m/%y")
sp<-ggplot(dt,aes(x=dates,y=cond,colour=Treatment,group=Treatment))+geom_errorbar
(aes(ymin=cond-err,ymax=cond+err),width=0.5,size=0.5)+geom_line()+geom_point()+scale_x_date
(date_breaks = "2 weeks",date_minor_breaks = "1 week",date_labels = "%b %d")
sp2<-sp + scale_color_manual(breaks = c("Control", "T1","T2","T3","T4"),
values=c("blue", "yellow","hotpink1","orange","red"))
print(sp2 +ylim(100, 350)+labs(title= "Stomatal Conductance - Tamata Maples",
y=expression(Conductance (m~mol~m^{-2})), x = "Date"))
我可以帮助您翻译内容:
我能在同一个ggplot线图中显示降雨条形图吗?