Многострочный график, но я хочу показать тексты и точки только в одной конкретной строке - PullRequest
0 голосов
/ 26 сентября 2019

Итак, у меня есть этот код, который строит следующий многократный линейный график

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)

Убедитесь, что он рисует точки и текстовые значения во всех линиях.Поэтому я хочу, чтобы эти точки и тексты значений отображались только в синей линии.

Imgur 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

1 Ответ

0 голосов
/ 26 сентября 2019

Вы можете сделать условные метки и баллы следующими:

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))

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...