gpt4 book ai didi

r - 通过两组区分 geom_point

转载 作者:行者123 更新时间:2023-12-04 02:21:14 25 4
gpt4 key购买 nike

这是我到目前为止所得到的:

df<-data.frame(x=(1:100),
y=rnorm(100),
Mode=c(rep('Walk',25), rep('Bike',25), rep('Drive',25), rep('Train',25)),
Location=c(rep(c(rep('City',10), rep('Rural',15)),4)))
ggplot(df)+geom_point(aes(x=x, y=y, col=Mode))+
scale_color_brewer(palette='Set1')

geom_point plot

我还想通过位置来区分点,更具体地说,我希望将每种颜色分为两种颜色,例如紫色为浅紫色和深紫色,以表示位置。

我该怎么办?

最佳答案

你至少有两个选择。一种是为数据框中的模式和位置​​因素的交互分配颜色美感,如下所示:

ggplot(df) + 
geom_point(aes(x=x, y=y, color=Mode:Location)) +
scale_color_manual(values = c('Red', 'Pink', 'Blue', 'LightBlue',
'Green', 'LightGreen', 'Black', 'Grey'))

使用这种方法, ggplot期望它找到的每个 Mode 和 Location 组合都有唯一的颜色值,并且每个组合都与其他组合不同。因此,要按您想要的颜色进行分组,您必须手动定义您喜欢的颜色。

另一个选项如评论中所述,涉及将 alpha(透明度)美学分配给位置并将颜色美学设置为模式。这会自动提供您想要的颜色分组,但在我看来,这会产生难以解释的图例。
ggplot(df) + 
geom_point(aes(x=x, y=y, color=Mode, alpha=Location)) +
scale_alpha_discrete(range = c(0.4, 1)) +
scale_color_brewer(palette = 'Set1')

两个结果:

Using Mode:Location
Using alpha aesthetic

关于r - 通过两组区分 geom_point,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29244491/

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