如何在ggplot中将折线图的线条修改为双线?
把ggplot线条改成双线的方法
给你两种实用的实现方式,对应你要的双线效果:
方式一:叠加线条模拟双线
通过先后画两条不同粗细、颜色的线条,就能做出类似双线的视觉效果,这是最常用的办法:
df <- data.frame(dose=c("D0.5", "D1", "D2"), len=c(4.2, 10, 29.5)) ggplot(data=df, aes(x=dose, y=len, group=1)) + # 先画粗一点的浅色外层线 geom_line(size=2, color="white") + # 再叠上细一点的深色内层线 geom_line(size=1, color="black")
方式二:偏移数据画平行双线
如果需要两条完全独立的平行线条,可以复制一份数据,给y值加个小偏移后分别绘制:
df <- data.frame(dose=c("D0.5", "D1", "D2"), len=c(4.2, 10, 29.5)) # 复制数据并调整y值偏移量 df_shift <- df df_shift$len <- df_shift$len + 1.5 ggplot() + geom_line(data=df, aes(x=dose, y=len, group=1), color="black") + geom_line(data=df_shift, aes(x=dose, y=len, group=1), color="black")
要是你想要的是类似Word里的「双线线型」(线条本身是双实线),ggplot默认没有自带这种线型,但用方式一的叠加法可以做出近似的效果。
内容的提问来源于stack exchange,提问作者J. Doe
相关产品推荐
相关产品推荐

