gpt4 book ai didi

r - 填充和空心形状,其中填充颜色 = 线条颜色

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

我想在点图中传达三种类型的信息。我可以使用颜色、形状和填充(我的实际数据有太多点无法有效使用大小)。但如果填充颜色与轮廓颜色相同,效果会更好。

我能得到的最接近的是这个:

data(mtcars)
p <- ggplot(mtcars,aes(x=mpg,y=wt))+
geom_point(aes(color=factor(cyl),shape=factor(gear),fill=factor(vs)))+
scale_fill_manual(values=c("black",NA))+scale_shape_manual(values=c(21,22,23))

enter image description here

将黑色填充到所有轮廓颜色中,丑陋。关于如何用红色填充红点和用蓝色填充蓝点的任何想法?

最佳答案

介绍 NA ,并将它们映射到 NA颜色搭配 scale_fill_discrete :

ggplot(mtcars,aes(x=mpg,y=wt)) +
geom_point(size=10,
aes(
color=factor(cyl),
shape=factor(gear),
fill=factor(ifelse(vs, NA, cyl)) # <---- NOTE THIS
) ) +
scale_shape_manual(values=c(21,22,23)) +
scale_fill_discrete(na.value=NA, guide="none") # <---- NOTE THIS

产生:

enter image description here

编辑:为了解决弗利克先生,我们可以作弊并添加图层/阿尔法。请注意,我们需要添加一个图层,因为据我所知,无法独立控制颜色和填充的 alpha:
library(ggplot2)
ggplot(mtcars,aes(x=mpg,y=wt, color=factor(cyl), shape=factor(gear))) +
geom_point(size=10, aes(fill=factor(cyl), alpha=as.character(vs))) +
geom_point(size=10) +
scale_shape_manual(values=c(21,22,23)) +
scale_alpha_manual(values=c("1"=0, "0"=1))

enter image description here

关于r - 填充和空心形状,其中填充颜色 = 线条颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25632242/

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