首页 > 解决方案 > 如何使用ggplot制作虚线和图例

问题描述

我想知道如何在我的图表中添加一个图例,以及是否可以制作一条半实线半虚线。我需要红线在 28 处变为虚线,绿色线在 20 处变为虚线 我被告知使用 geo_segment 但我找不到查看需要输入的命令的方法。

如果有人可以提供帮助并建议我应该使用哪些代码,那就太好了。

man<-dataset
ggplot(man,aes(Plot))+
geom_line(aes(y=N),color="forestgreen",lwd=0.5)+
geom_ribbon(aes(ymin=NLB,ymax=NUB),alpha=0.2,fill="green")+
geom_line(aes(y=M),color="navy",lwd=0.5)+
geom_ribbon(aes(ymin=MLB,ymax=MUB),alpha=0.2,fill="blue")+
geom_line(aes(y=S),color="brown1",lwd=0.5)+
geom_ribbon(aes(ymin=SLB,ymax=SUB),alpha=0.2,fill="red")+
xlab("Number of Samples")+
ylab("Number of Diametric-Species")

在此处输入图像描述

标签: rggplot2legend

解决方案


library(dplyr)
#> 
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#> 
#>     filter, lag
#> The following objects are masked from 'package:base':
#> 
#>     intersect, setdiff, setequal, union
library(ggplot2)
df <- data.frame(
  x = seq(1:200),
  y = log(seq(1:200))
)

df <- df %>% mutate(should_dash = x >= 50)

ggplot(df, aes(x,y)) + geom_line(aes(linetype = should_dash)) 

reprex 包(v0.2.0) 于 2018 年 6 月 15 日创建。


推荐阅读