Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 指定ggplot中地图的颜色比例_R_Ggplot2 - Fatal编程技术网

R 指定ggplot中地图的颜色比例

R 指定ggplot中地图的颜色比例,r,ggplot2,R,Ggplot2,在ggplot中设置地图的颜色比例有困难。我需要灰度。非常感谢你告诉我我哪里出错了。我还想知道是否有比将颜色变量附加到“强化”数据更有效的方法将其输入ggplot 库(ggplot2) 状态您需要使用scale\u fill\u*而不是scale\u color\u*。对于多边形几何体,多边形的填充颜色与填充美学相耦合,而不是与颜色美学相耦合。一般来说,用于更改特定比例细节的函数是scale\uu美学\u名称\u比例类型,例如scale\u fill\u gradient此代码适用于我 libr

在ggplot中设置地图的颜色比例有困难。我需要灰度。非常感谢你告诉我我哪里出错了。我还想知道是否有比将颜色变量附加到“强化”数据更有效的方法将其输入ggplot

库(ggplot2)

状态您需要使用
scale\u fill\u*
而不是
scale\u color\u*
。对于多边形几何体,多边形的填充颜色与
填充
美学相耦合,而不是与
颜色
美学相耦合。一般来说,用于更改特定比例细节的函数是
scale\uu
美学\u名称
\u
比例类型,例如
scale\u fill\u gradient

此代码适用于我

library(ggplot2)
states <- map_data("state")
var <- data.frame(table(states$region))
states$variable <- var$Freq[match(states$region,var$Var1)]
map <- ggplot(states, aes(x=long, y=lat,fill=variable,group=group)) + geom_polygon()
map + scale_fill_gradient(low='white', high='grey20')

我也这么认为,但我得到了
错误:连续值提供给离散比例
。您需要使用连续比例,例如
比例填充梯度
。谢谢@Distribeecology,有用的提示。如果您使用
比例颜色
function?如果有帮助的话,我正在准备一个软件包,它可以用一个函数制作ggplot地图,假设您已经强化了数据。您可以通过
devtools::install\u github(“映射”、“jaredlander”)
进行安装。以下是GitHub页面:
library(ggplot2)
states <- map_data("state")
var <- data.frame(table(states$region))
states$variable <- var$Freq[match(states$region,var$Var1)]
map <- ggplot(states, aes(x=long, y=lat,fill=variable,group=group)) + geom_polygon()
map + scale_fill_gradient(low='white', high='grey20')
gs.pal <- colorRampPalette(c("#FFFFFF","#000000"),bias=.1,space="rgb")
x <- rnorm(100)
dat <- data.frame(cbind(x))
dat$fac <- as.factor(sort(rep(1:5,20)))
dat$y <- x * as.numeric(dat$fac)
ggplot(dat,aes(x=x,y=y,colour=fac))+geom_point()+scale_colour_manual(values=gs.pal(5))