gpt4 book ai didi

r - 如何更改 ggplot2 中复杂填充的颜色?

转载 作者:行者123 更新时间:2023-12-05 01:15:23 26 4
gpt4 key购买 nike

我正在绘制具有不同疟疾寄生虫耐药性研究地点的 map 。研究地点的点的大小与采样的疟疾寄生虫数量相关,点的填充是抗药性疟疾寄生虫比例从 0 到 1 的梯度。下面的代码显示了下面的 map :

###GENERATING AFRICA MAP###
africa = readOGR("/Users/transfer/Documents/Mapping Files/Africa Countries/Africa_SHP", layer="dissolved")
#FIXING THE NON-NODED INTERSECTS#
africa = gBuffer(africa, width=0, byid=TRUE)
#CREATING DATA FRAME FOR GGPLOT#
africa.map = fortify(africa, region="ID")

###PLOTTING SPM.437###
#SCALING THE SAMPLE SIZE USING CUBE-ROOT#
size = d.spm.437$Tot437^(1/3)
#PLOTTING#
ggplot(africa.map, aes(x = long, y = lat, group = group)) +
geom_polygon(colour="black", size=0.25, fill="white", aes(group=group)) +
geom_point(data = d.spm.437, aes(x = long, y = lat, fill=Frc437, group=NULL, size=Tot437),
size=size, shape=21, colour="black", size=0.5)

enter image description here

我尝试使用颜色选项,但没有用:
ggplot(africa.map, aes(x = long, y = lat, group = group)) + 
geom_polygon(colour="black", size=0.25, fill="white", aes(group=group)) +
geom_point(data = d.spm.437, aes(x = long, y = lat, colour="red", fill=Frc437, group=NULL, size=Tot437),
size=size, shape=21, colour="black", size=0.5)

有谁知道如何让填充的颜色显示红色的比例,较浅的为 0,较深的为 1?

最佳答案

正如我在评论中提到的,我认为您对设置与映射美学有点困惑。

您将美学映射到 aes() 内的数据框中的变量.所以,aes(color = var)将颜色美感映射到变量 var,您会得到一个图例来显示颜色如何随 var 变化。如果您设置颜色,则在 aes() 之外, 为单个值,那么您只需将所有点设置为单一颜色:color = "red" .

我怀疑您感到困惑的原因是您有 size=Tot437内部 aes() ,然后都是 size=sizesize=0.5 aes() 之外.

最后,要更改调色板,您需要注意 scale_color_*函数(以及 scale_fill_*, scale_size_* 等)。这是一个让您入门的简单示例:

dat <- data.frame(x = rnorm(50),
y = rnorm(50),
f = runif(50))

library(ggplot2)
library(munsell)
cl <- mnsl(c("5R 2/4", "5R 7/10"))

ggplot(dat,aes(x,y,fill = f)) +
geom_point(size = 5,shape = 21) +
scale_fill_gradient(low = cl[1],high = cl[2])

我是怎么想出那种看起来很疯狂的颜色规范的?就从 scale_fill_continuous 的前几行开始然后在 munsell 包中闲逛了一下。

编辑:我完全错过了你实际上在使用 pch = 21这基本上是唯一的点形状,而 fill审美是有道理的,所以我已经编辑删除了我对该分数的评论。

关于r - 如何更改 ggplot2 中复杂填充的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13768184/

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