gpt4 book ai didi

r - ggplot 减少图例中的线宽

转载 作者:行者123 更新时间:2023-12-04 10:56:24 24 4
gpt4 key购买 nike

我正在尝试使用 ggplot2 控制情节

示例脚本:

dat1 <- data.frame(
sex = factor(c("Female","Female","Male","Male")),
time = factor(c("Lunch","Dinner","Lunch","Dinner"), levels=c("Lunch","Dinner")),
total_bill = c(13.53, 16.81, 16.24, 17.42)
)
p = ggplot(data=dat1, aes(x=sex, y=total_bill, group=time, shape=time, color=time)) + geom_line() + geom_point()

现在我想控制图例中形状和线条的外观。我想要一个更大的形状,和传说中的细线。但我不能同时执行。

如果我做,
p = p + guides(colour = guide_legend(override.aes = list(size=5)))

线条和形状都是粗的,类似于图B。

如果我做,
p = p + guides(colour = guide_legend(override.aes = list(size=5,linetype=0)))

然后形状以正确的大小出现,但线条消失了(图 A)。我尝试过这样的事情没有成功。
p = p + guides(colour = guide_legend(override.aes = list(size=5,linetype=0.5)))

Example

如何实现图例中的大形状和细线?

最佳答案

感谢 Sandy Musprattuser20650 .这两个链接都非常有用。

为了简单起见,我使用了 user20650 的代码。

完整代码在这里:

dat1 <- data.frame(
sex = factor(c("Female","Female","Male","Male")),
time = factor(c("Lunch","Dinner","Lunch","Dinner"), levels=c("Lunch","Dinner")),
total_bill = c(13.53, 16.81, 16.24, 17.42)
)
p = ggplot(data=dat1, aes(x=sex, y=total_bill, group=time, shape=time, color=time))
p = p + geom_line() + geom_point(size=5, alpha=0) + geom_point(show.legend=FALSE)
p = p + guides(colour = guide_legend(override.aes = list(alpha=1)))

谢谢。

关于r - ggplot 减少图例中的线宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36162718/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com