繁体   English   中英

DotDash 和 TwoDash l.netypes 在 ggplot2 R 中不起作用

[英]DotDash and TwoDash linetypes not working in ggplot2 R

我正在尝试 plot twodash 和 dotdash,但我只得到破折号 output。

set.seed(111)
var <- rep(c("SP1","SP2","AB1","AB2"), times = 5)
var.val <- rnorm(20,5,1)
level <- rep(c(100,200,300,400), each = 5)

df <- data.frame(var, var.val, level)

ggplot(df, aes(x = level, y = var.val, col = var, group = var)) + 
  geom_point(aes(fill = var), colour="white",pch=21, size=4, stroke = 1,
             alpha = 0.7, data = df[df$var %in% c("SP1", "SP2"),]) +
  theme_classic() + 
  geom_smooth(data = df[df$var %in% c("SP1", "SP2"),],
              method = "lm", formula = y ~ x, alpha = 0.2) +
  geom_smooth(data = df[!df$var %in% c("SP1", "SP2"),],
              method = "lm", formula = y ~ x, se = FALSE, linetype = 2 ) +  
  scale_linetype_manual(values = c("dotdash", "twodash","solid", "solid")) + 
  scale_colour_manual(values = c("black","black","red","blue"))

在此处输入图像描述

尝试在ggplot调用中将l.netype设置为美学的一部分:

ggplot(df, aes(x = level, y = var.val, col = var, group = var, linetype = var)) + # set linetype
  geom_point(aes(fill = var), colour="white",pch=21, size=4, stroke = 1,
             alpha = 0.7, data = df[df$var %in% c("SP1", "SP2"),]) +
  theme_classic() + 
  geom_smooth(data = df[df$var %in% c("SP1", "SP2"),],
              method = "lm", formula = y ~ x, alpha = 0.2) +
  geom_smooth(data = df[!df$var %in% c("SP1", "SP2"),],
              method = "lm", formula = y ~ x, se = FALSE) +  
  scale_linetype_manual(values = c("dotdash", "twodash","solid", "solid")) + 
  scale_colour_manual(values = c("black","black","red","blue"))

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM