gpt4 book ai didi

R:ggplot2 中 geom_rect 的渐变填充

转载 作者:行者123 更新时间:2023-12-04 00:39:50 25 4
gpt4 key购买 nike

我想在 R 中创建一个类似于下图的图形,以显示某个人或公司相对于其同行的排名。分数始终在 1 到 100 之间。

rank

虽然我可以接受任何 ggplot 解决方案,但在我看来最好的方法是使用 geom_rect 然后调整并添加 baptiste 的回答中描述的箭头至 this question .但是,我遇到了更简单的事情 - 让 geom_rect 正确填充渐变,如下图右侧的指南中所示。这应该很容易。我做错了什么?

library(ggplot2)
library(scales)

mydf <- data.frame(id = rep(1, 100), sales = 1:100)

ggplot(mydf) +
geom_rect(aes(xmin = 1, xmax = 1.5, ymin = 0, ymax = 100, fill = sales)) +
scale_x_discrete(breaks = 0:2, labels = 0:2) +
scale_fill_gradient2(low = 'blue', mid = 'white', high = 'red', midpoint = 50) +
theme_minimal()

geom_rect

最佳答案

我认为 geom_tile() 会更好 - 使用 sales 作为 yfill。使用 geom_tile(),您将为每个销售额获得单独的图 block ,并且能够看到渐变。

ggplot(mydf) +
geom_tile(aes(x = 1, y=sales, fill = sales)) +
scale_x_continuous(limits=c(0,2),breaks=1)+
scale_fill_gradient2(low = 'blue', mid = 'white', high = 'red', midpoint = 50) +
theme_minimal()

enter image description here

关于R:ggplot2 中 geom_rect 的渐变填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20069660/

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