小编A.B*_*son的帖子

多个y轴用于条形图和使用ggplot的折线图

我有一些来自实验的蒸腾数据,我希望在使用R的线图上显示时间序列.我也有一些降水数据,我想在条形图上显示在同一图表上.我已经能够使用R的基本程序来做到这一点,但我想在ggplot中这样做.我到处搜索,我知道设计师不太喜欢用这种方式制作图形所以它很难,但我已经看到它使用两个y轴完成了多个线图/散点图.它可以用折线图和条形图完成吗?

这是我在基本R中所拥有的 蒸腾时间序列

这是我用来制作情节的数据

时间序列数据在这里

这里的降雨数据

以下是上图的代码.

 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)

r bar-chart ggplot2 yaxis

5
推荐指数
1
解决办法
6426
查看次数

将x轴放置在具有负y值的条形图顶部

我有一些数据用于各种实验性治疗,这些数据都是负值.我想将条形图绘制在条形图的顶部,并使标签的位置与条形图中心的传统条形图相同.

我已经检查了一遍,找不到任何能让我用文字命名轴标签,只设置刻度线和数字的东西.

这是数据: - "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"不会干扰我的图表标题.

谢谢

在此输入图像描述

plot axis r bar-chart axis-labels

4
推荐指数
1
解决办法
1357
查看次数

在 ggplot2 中的 facet_wrap 上使用公式

我试图用表达式替换条形图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)

label r ggplot2 facet-wrap

3
推荐指数
1
解决办法
56
查看次数

标签 统计

r ×3

bar-chart ×2

ggplot2 ×2

axis ×1

axis-labels ×1

facet-wrap ×1

label ×1

plot ×1

yaxis ×1