r - 如何使用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")
解决方案
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 日创建。
推荐阅读
- css - 在网页上绘制 3 个垂直条带
- jquery - 从两个选择选项值中获取价值
- sms - 如何在 Google Voice 中批量归档多条消息、语音邮件或电话?
- laravel-5.6 - 如果用户被授权,则返回附加列 - API
- java - Java Web 启动错误:访问被拒绝 ("java.util.PropertyPermission" "*" "read,write")
- c - 将 return 0 与 void main() 一起使用?
- arrays - 在 Scala 中将 Map[Int, Array[(Int, Int)]] 转换为 Map[Int, Map[Int, Int]]
- r - 为 FileInput 对象赋值
- php - “SQLSTATE [23000]:违反完整性约束:1048 列‘描述’不能为空
- java - 如何组合多个 Comparator?