如何无需使用pivot_wider在Ggplot中绘制双行业就业数据折线图
完全可以,你当前的数据集本身就是ggplot绘制分组折线的最优格式,根本不需要调用pivot_wider做宽表转换。
实现逻辑非常简单:只需要在ggplot的映射参数中将行业代码indcode映射给group(分组)参数,就会自动按11、22两个行业拆分数据分别绘制折线。如果需要给两条折线配置不同颜色/线型做区分,直接把indcode映射给color/linetype参数即可。
下面是可直接运行的代码示例:
library(ggplot2) # 构造完整日期列作为x轴,保证时间顺序正确 twoseries$date <- as.Date(paste(twoseries$periodyear, twoseries$period, "01", sep = "-")) # 直接绘制双行业折线图 ggplot(twoseries, aes(x = date, y = employment, color = factor(indcode))) + geom_line(linewidth = 1) + labs( x = "时间", y = "就业人数", color = "行业代码" ) + theme_minimal()
补充说明:如果你不需要单独设置分组的可视化样式,仅映射color参数就会自动生成分组,不需要额外写group = indcode。只有当你不需要给不同分组配置不同视觉属性,仅需要拆分折线的时候,才需要显式指定group参数。
内容的提问来源于stack exchange,提问作者Tim Wilcox
相关产品推荐
相关产品推荐

