我有一些来自实验的蒸腾数据,我希望在使用R的线图上显示时间序列.我也有一些降水数据,我想在条形图上显示在同一图表上.我已经能够使用R的基本程序来做到这一点,但我想在ggplot中这样做.我到处搜索,我知道设计师不太喜欢用这种方式制作图形所以它很难,但我已经看到它使用两个y轴完成了多个线图/散点图.它可以用折线图和条形图完成吗?
这是我用来制作情节的数据
以下是上图的代码.
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", …Run Code Online (Sandbox Code Playgroud) 我有一些数据用于各种实验性治疗,这些数据都是负值.我想将条形图绘制在条形图的顶部,并使标签的位置与条形图中心的传统条形图相同.
我已经检查了一遍,找不到任何能让我用文字命名轴标签,只设置刻度线和数字的东西.
这是数据: - "wp_means"
> 12 15 3 6 9 Control
-0.3000000 -0.2416667 -0.3416667 -0.3916667 -0.2750000 -0.2750000
DL
-0.2833333
Run Code Online (Sandbox Code Playgroud)
这是我绘制条形图的代码.我可以从它通常的位置省略x轴,但我似乎无法将它放在标签等的顶部,我希望它在哪里.
cols<-c("blue1", "cyan","chartreuse","mediumspringgreen","maroon1","orange","red")
wp<-data.frame(a=c(wp_means),b=c(12,15,3,6,9,"Control","DL"))
wp$c=factor(wp$b, levels = c("Control",15,"DL",12,9,6,3))
wp <- wp[order(wp$c), ]
barplot(height=wp$a,names.arg=wp$c,col=cols,main="Water Potential",las=1,xaxt="n",
ylab = "Water potential
(MPA)",pch=21,bg="black",cex=0.7,cex.lab=0.8,font.lab=2,
cex.axis=0.7,font.axis=2,cex.main=1,ylim=c(-0.5,0),xaxt="n")
Run Code Online (Sandbox Code Playgroud)
这是情节:我希望上面的x轴上的标签按照它们出现在"levels = c("Control"....)"上面的顺序.我也想设置一个标签标题,就像通常一样,xlab="some name"不会干扰我的图表标题.
谢谢

我试图用表达式替换条形图facet_wrap上的标题ggplot,但我没有运气。我在这里和这里都试过,但似乎都不适合我。
整个数据集相当大,所以这里有一些虚拟数据来说明问题。
library(tidyr)
library(ggplot2)
data<-data.frame(species = rep(c("oak", "elm", "ash"), each = 5),
resp_1 = (runif(15, 1,100)),
resp_2 = (runif(15, 1,100)),
resp_3 = (runif(15, 1,100)),
resp_4 = (runif(15, 1,100)),
resp_5 = (runif(15, 1,100)))
### transform to longform with tidyr
data_2 <- gather(data, response, result, resp_1:resp_5, factor_key=TRUE)
### plot with ggplot2
ggplot(data_2, aes(x = species, y = result, fill = species))+
geom_bar(stat = 'sum')+
facet_wrap(~ response)
### here are the labels I'd like to …Run Code Online (Sandbox Code Playgroud)