gpt4 book ai didi

r - 每组ggplot2颜色渐变

转载 作者:行者123 更新时间:2023-12-02 01:22:20 28 4
gpt4 key购买 nike

这是我能够让它工作的示例:

find_hull <- function(df) df[chull(df$Sepal.Length, df$Sepal.Width), ]
hulls <- ddply(iris, "Species", find_hull)

ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width, shape=Species,
color=Species, size=Petal.Width)) +
geom_point() +
ggtitle("Sepal.Length vs. Sepal.Width - size Petal.Width") +
scale_shape_manual(values=c(15,16,17)) +
geom_polygon(data = hulls, alpha = 0.15, size=0.2) +
scale_size(guide = "none")

我现在想做的是根据 Petal.Width 为每个组(即 setosa、versicolor 和 virginica)指定渐变。也就是说,假设 setosa 组是读取方 block ,其中每个点的大小取决于 Petal.Width。我希望这种红色根据花瓣宽度而变化(从白色到红色)。如果 virginica 是蓝色三角形,我希望这些三角形的颜色也随大小(花瓣宽度)而变化。

有什么想法可以很容易地做这样的事情吗?

最佳答案

有点老套——为了获得“淡入白色”效果,我添加了一个白色的 geom_point,并用另一个 geom_point 覆盖它,其中 alpha 映射到 Petal.Width。因此,Petal.Width 值最大的点将是纯色,随着 Petal.Width 的减小逐渐变为白色。

ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width, shape=Species, 
color=Species, size=Petal.Width)) +
geom_point(colour = "white") +
geom_point(aes(alpha = Petal.Width, colour = Species)) +
ggtitle("Sepal.Length vs. Sepal.Width - size Petal.Width") +
scale_shape_manual(values=c(15,16,17)) +
geom_polygon(data = hulls, alpha = 0.15, size=0.2) +
scale_size(guide = "none") +
scale_alpha_continuous(guide = FALSE)

输出:

enter image description here

关于r - 每组ggplot2颜色渐变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39239372/

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