geom_text删除其他几何(geom_point和geom_line)

时间:2020-08-06 18:17:57

标签: r ggplot2

我正在使用的数据集有一些奇怪的行为。我先绘制一个点图层,然后再绘制一个线图层,然后再绘制一个标签子集。但是标签正在删除线和点图层。我无法在另一个数据集中复制问题,也无法锻炼正在发生的事情。

下面是给出问题的代码:

#Have a look at the data:
>head(df)
# A tibble: 6 x 5
  p.start p.end  year  value change
    <dbl> <dbl> <int>  <dbl>  <dbl>
1       0     1  2017 -4928.  1144.
2       1     2  2017     0   -798.
3       2     3  2017   687. -3400.
4       3     4  2017  3438. -3063.
5       4     5  2017  5978. -2400.
6       5     6  2017  7988. -2023.

>tail(df)
# A tibble: 6 x 5
  p.start p.end  year    value  change
    <dbl> <dbl> <int>    <dbl>   <dbl>
1    96      97  2017  208759.  23221.
2    97      98  2017  248919.  28333.
3    98      99  2017  334171.  36818.
4    99     100  2017 1104671. 113244.
5    99.5   100  2017 1709530. 174812.
6    99.9   100  2017 4847340. 504441 

#Create the relevant plot
library('ggplot2')
ggplot(df, aes(x = p.start, y = change)) +
  geom_point() + #plot the points and lines
  geom_line() + 
  geom_text(data = subset(df, p.start >= 99), #plot a subset labels
            aes(x = p.start, y = value, label = p.start))

enter image description here

您会看到geom_text()删除了geom_point()geom_line()。我尝试了'nudge_x',但是没有什么不同。我还尝试以不同的顺序绘制图层,但这没有什么不同。

我尝试使用其他数据集来做到这一点,并且有效:

library('tibble')
#set rownames to use as labels
df2 <- mtcars %>% 
  rownames_to_column('name')

#plot
ggplot(df2, aes(x = mpg, y = hp)) + 
  geom_point() + #plot the points and lines
  geom_line() + 
  geom_text(data = subset(df, cyl > 4), #plot a subset of labels
            aes(x = mpg, y = hp, label = name))

enter image description here

一切正常:标签显示在点和线上。

导致此问题的我的第一个绘图/数据出了什么问题?

0 个答案:

没有答案