ggplot2使用geom_segment+position_dodge绘制任职时间轴的问题
问题解决方法
1. 修复position_dodge不生效
position_dodge需要明确的分组规则才能对同组元素执行错位排版,原代码未指定分组变量,ggplot无法识别哪些线段需要错开。由于你后续需要按工作单位区分颜色,直接添加颜色映射即可自动生成对应的分组规则,不需要额外指定group参数。
2. 实现按工作单位区分颜色并生成图例
将workplace变量映射到color美学维度即可,ggplot会自动为不同工作单位生成不同颜色的线段,同时输出对应的图例。
修改后的绘图代码
ggplot(mydata_ym) + geom_segment(aes(x = id, xend = id, y = ymd_start, yend = ymd_end, color = workplace), position = position_dodge(width = 0.3), size = 2) + scale_x_discrete(limits = rev) + coord_flip() + theme(panel.background = element_rect(fill = "grey97")) + labs(y = "time", title = "Work affiliation")
你可以根据显示效果调整position_dodge的width参数,控制重叠线段的错位距离。
内容的提问来源于stack exchange,提问作者PaulaSpinola
相关产品推荐
相关产品推荐

