R语言 ggplot:如何在散点图中添加多条线

pdsfdshx  于 2023-04-18  发布在  其他
关注(0)|答案(1)|浏览(225)

我需要生成一个散点图,其中包含合并每组值的线。
这是一个例子

我有5个城市的值,每年一个。
这是我的代码样本。

Year       City_A     City_B  City_C City_D City_E  
 1                 2015          NA         NA     NA    NA    NA 
 2                 2016          NA         NA     NA    NA    NA 
 3                 2017        2085.      1956.  1949. 1780. 1798.
 4                 2018        2722.      1893.  2074. 1701. 1806.
 5                 2019        2675.      1979.  2058. 1624. 1770.
 6                 2020        2578.      2081.  2098. 1814. 1834.
 7                 2021        2315.      2310.  2162. 1740. 1874.
 8                 2022        2227.      2082.  2097. 1784. 1783.
 9                 2023        2549.      2060.  2072. 1714. 1948.
10                 2024        2252.      2073.  2669. 1673. 1688.
11                 2025        2266.      2074.  1767. 1897. 1656.
12                 2026        2660.      1821.  1738. 1432. 1851.
13                 2027        1449.      1556.  1452. 1260. 1299.

我正试着用这段代码

dataset%>%
ggplot()+
  geom_point( aes(x=Year, y=City_A))+
  geom_line(aes(x=Year, y=City_A), color = 'blue')+
  geom_point( aes(x=Year, y=City_B))+
  geom_line(aes(x=Year, y=City_B), color = 'purple')+
  geom_point(aes(x=Year, y=City_C))+
  geom_line(aes(x=Year, y=City_C), color = 'red')+
  geom_point(aes(x=Year, y=City_D))+
  geom_line(aes(x=Year, y=City_D), color = 'orange')+
  geom_point(aes(x=Year, y=City_E))+
  geom_line(aes(x=Year, y=City_E), color = 'gold')

但我知道...

我该如何解决?

tkclm6bt

tkclm6bt1#

我们必须将数据以长格式呈现。对于这样的图,下一个重要的步骤是分组(这里按城市):

library(tidyr)
library(dplyr)
library(ggplot2)

df %>% 
  pivot_longer(cols=-Year, names_to="city", values_to="value") %>% 
  ggplot(aes(x=factor(Year), y=value, group=city, color=city)) +
  geom_point() +
  geom_line() +
  scale_color_manual(values = c('blue', 'purple', 'red', 'orange', 'gold'))

相关问题