绘制两条曲线及其置信区间

时间:2017-10-17 09:17:03

标签: r ggplot2 graph

我有两个类似的数据框架,我可以在ggplot2上以其置信区间绘制每一个。{1}}。我的问题是我如何在同一图表上绘制它们? 这是允许我绘制第一个数据帧的脚本,第二个基本上类似于这个,相同的比例和接近的值。

xlabel <- "Frequency [Hz]"
ylabel <- "|Z|[Ohm]"
plotdata <- data.frame(x=x6, y=mediaprobes, lower = (mediaprobes_m), upper = (mediaprobes_M))
library(ggplot2)
ggplot(plotdata) + geom_line(aes(y= y, x= x6, colour = "Mean probes"))+
  geom_ribbon(aes(ymin=lower, ymax=upper, x=x6, fill = "st.err"), alpha = 0.5)+
  scale_colour_manual("",values="blue")+
  scale_fill_manual("",values="grey12")+ 
  xlab(xlabel) + 
  ylab(ylabel)+
  scale_x_log10(breaks = trans_breaks("log10", function(x) 10^x),
                labels = trans_format("log10", math_format(10^.x)))+
  scale_y_log10(breaks = trans_breaks("log10", function(x) 10^x),
                labels = trans_format("log10", math_format(10^.x)))

第二个数据框

plotdatas <- data.frame(x=x6, y=mediaprobes, lower = (mediaprobes_m), upper = (mediaprobes_M))

这是数据帧的样子:

      x           y      lower    upper
      1000000.0  2175.0  2127.042  2222.958
      932600.0   2290.0  2239.668  2340.332


 x           y2         lower2     upper2
 1000000.0  2454.593   2435.686  2473.500
 932600.0   2580.815   2561.698   2599.932

1 个答案:

答案 0 :(得分:1)

向每个表添加组状态,然后使用rbind绑定它们。在ggplot中,按照您添加的组(&#34; A&#34;或&#34; B&#34;)指定颜色/填充。

# We have to change column names to match plotdata
colnames(plotdatas) <- c("x", "y", "lower", "upper")
plotdata$group <- "A"
plotdatas$group <- "B"
pd <- rbind(plotdata, plotdatas)

library(ggplot2)
ggplot(pd, aes(x, y, fill = group)) + 
    geom_line(aes(color = group)) +
    geom_ribbon(aes(ymin = lower, ymax = upper), 
                alpha = 0.5) +
    scale_colour_manual(values = c("blue", "black")) +
    scale_fill_manual(values = c("grey40", "grey1"))

结果:

enter image description here