微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

geom_path散点图ggplot2

如何解决geom_path散点图ggplot2

我正在尝试创建一个类似于one的连接散点图,并且它具有更多的explanation

本质上,我试图在一张图表上显示劳动力人数的减少(按人数计算)。第二张图将显示同期的失业率变化。

这是我的代码

# ggplot2 call:
Unemployment_Outflows %>%
  ggplot( aes(x=unemployment_rate,y=labor,label=year)) +
  # Custom the Y scales:
  scale_y_continuous() +
geom_line( color="grey") +
    geom_point(shape=21,color="black",fill="#69b3a2",size=3)
  geom_segment(aes(
                    xend=c(tail(unemployment_rate,n=-1),NA),yend=c(tail(labor,NA)
                  )
      ) 

enter image description here

但是,如您所见,线条和阴影区域都不可见,并且出现以下错误

“ geom_path:每个组仅包含一个观察值。您是否需要调整组的审美?”

年 更改 change_perc 失业率 劳动

*年 (chr)劳动失业率 (dbl)(dbl)

2015年第四季度8416681 0不适用
2016年第四季度8492965 12.34717
2017年第四季度7907511 12.83452
2018年第四季度6895514 12.74767
2019年第四季度6437891 12.01787
2020年第三季度6409070 15.44732

解决方法

尝试添加geom_text()。没有共享输出,因为不包含任何数据。这里的代码:

library(ggplot2)
library(dplyr)
#Code
Unemployment_Outflows %>%
  ggplot( aes(x=unemployment_rate,y=labor,label=year)) +
  # Custom the Y scales:
  scale_y_continuous() +
  geom_line( color="grey") +
  geom_point(shape=21,color="black",fill="#69b3a2",size=3)
geom_segment(aes(
  xend=c(tail(unemployment_rate,n=-1),NA),yend=c(tail(labor,NA)
)
)+geom_text(vjust=0.5,fontface='bold')

使用您共享的数据,请尝试以下操作:

library(tidyverse)
#Code
df %>% 
  mutate(year=factor(year,levels = unique(year),ordered = T)) %>%
  pivot_longer(-1) %>%
  ggplot(aes(x=year,y=value,color=name,group=name))+
  geom_point()+geom_line()+geom_area(aes(fill=name),alpha=0.5)+
  facet_wrap(.~name,scales='free',nrow = 1)+
  scale_y_continuous(labels = scales::comma)+
  theme_bw()+
  theme(legend.position = 'top')+
  labs(color='Var',fill='Var')

输出:

enter image description here

使用了一些数据:

#Data
df <- structure(list(year = c("Q4 2015","Q4 2016","Q4 2017","Q4 2018","Q4 2019","Q3 2020"),labor = c(8416681,8492965,7907511,6895514,6437891,6409070),unemployment_rate = c(0,12.34717,12.83452,12.74767,12.01787,15.44732)),class = "data.frame",row.names = c(NA,-6L))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。