繁体   English   中英

多条线图,但我只想在一条特定线上显示文本和点

[英]Multiple lines graph but I want to show the texts and the points in only one specific line

所以我有这段代码可以绘制以下多条线图

grafico1 <- ggplot(dataset1, aes(x = V1, y = V3)) + 
  geom_line(aes(color = V2), size = 1) +
  scale_color_manual(values = c("#D2691E","#00FFFF","#228B22"))   +
  scale_x_continuous(breaks = round(seq(min(dataset1$V1), max(dataset1$V1)))) + geom_point()  +
geom_text(aes(label=V3), nudge_y = 1000)

看到它在所有行中绘制点和文本值。 所以我想要的是那些点和值文本只出现在蓝线上。

伊姆古尔 https://imgur.com/a/tpYwuto

数据 (csv)

     V1     V2    V3
1  2019   CNPq 17718
2  2018   CNPq 25466
3  2017   CNPq 24399
4  2016   CNPq 21938
5  2015   CNPq 19747
6  2014   CNPq 17909
7  2013   CNPq 16935
8  2012   CNPq 15427
9  2011   CNPq 13600
10 2010   CNPq 11660
11 2009   CNPq  9986
12 2008   CNPq  3842
13 2019  CAPES 14975
14 2018  CAPES 18611
15 2017  CAPES 16956
16 2016  CAPES 14800
17 2015  CAPES 12836
18 2014  CAPES 10916
19 2013  CAPES  9702
20 2012  CAPES  8403
21 2011  CAPES  7085
22 2010  CAPES  5683
23 2009  CAPES  4643
24 2008  CAPES  1724
25 2019 FAPESP  7654
26 2018 FAPESP 11332
27 2017 FAPESP 10774
28 2016 FAPESP  9828
29 2015 FAPESP  8923
30 2014 FAPESP  8152
31 2013 FAPESP  7837
32 2012 FAPESP  7175
33 2011 FAPESP  6433
34 2010 FAPESP  5577
35 2009 FAPESP  4951
36 2008 FAPESP  1869

您可以使用以下方法使标签和点有条件:

ggplot(df, aes(x = V1, y = V3)) + 
  geom_line(aes(color = V2), size = 1) +
  scale_color_manual(values = c("#D2691E","#00FFFF","#228B22"))   +
  scale_x_continuous(breaks = seq(min(df$V1), max(df$V1))) +
  geom_point(aes(size = V2 == "CNPq"), show.legend = FALSE)  +
  geom_text(aes(label=ifelse(V2 == "CNPq", V3, "")), nudge_y = 1000) +
  scale_size_manual(values=c(-1,1))

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM