如何在其中一个方面添加一条线? [英] How can I add a line to one of the facets?

查看:101
本文介绍了如何在其中一个方面添加一条线?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

ggplot(all, aes(x=area, y=nq)) +
  geom_point(size=0.5) +
  geom_abline(data = levelnew, aes(intercept=log10(exp(interceptmax)), slope=fslope)) + #shifted regression line
  scale_y_log10(labels = function(y) format(y, scientific = FALSE)) + 
  scale_x_log10(labels = function(x) format(x, scientific = FALSE)) + 
  facet_wrap(~levels) +
  theme_bw() +
  theme(panel.grid.major = element_line(colour = "#808080"))

我得到这个数字

现在,我想向其中一个构面添加一个geom_line .基本上,我只想在主要面板中有一条虚线(说x = 10,000).我该怎么办?

Now I want to add one geom_line to one of the facets. Basically, I wanted to have a dotted line (Say x=10,000) in only the major panel. How can I do this?

推荐答案

我没有您的数据,所以我做了一些弥补:

I don't have your data, so I made some up:

df <- data.frame(x=rnorm(100),y=rnorm(100),z=rep(letters[1:4],each=25))

ggplot(df,aes(x,y)) +
  geom_point() +
  theme_bw() +
  facet_wrap(~z)

要在x = 1处添加垂直线,我们可以将geom_vline()与具有相同构面变量(在我的情况下为z='b',但您将为levels='major')的数据框一起使用:

To add a vertical line at x = 1 we can use geom_vline() with a dataframe that has the same faceting variable (in my case z='b', but yours will be levels='major'):

ggplot(df,aes(x,y)) +
  geom_point() +
  theme_bw() +
  facet_wrap(~z) +
  geom_vline(data = data.frame(xint=1,z="b"), aes(xintercept = xint), linetype = "dotted")

这篇关于如何在其中一个方面添加一条线?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆