我正在尝试运行以下代码:
p <- ggplot(data=cuernavaca.map, aes(long, lat, group=group))
p + geom_polygon(size=0.1, aes(fill=pobtot)) + coord_equal() + facet_wrap(~nombre_municipio,scales="free") + coord_equal() + scale_fill_gradient2(low="blue", high="red", midpoint=mean(cuernavaca.map$pobtot, na.rm=TRUE))+ tema.mapas + ggtitle("Cuervaca y Zona metropolitana\nPoblación Total") + labs(fill="Población total")
但是我收到了这个错误:
错误:ggplot2不知道如何处理class uneval的数据
对象cuernavaca.map
是强化的SpatialDataFrame
。
奇怪的是,当我执行knit2html
或按下按钮knit HTML
时,这只发生在一台机器上(Ubuntu 13.04,RStudio 0.97.551,R 3.0.1),如果我在控制台中执行代码行(在RStudio内部)一切正常(我的意思是,情节已经完成),如果我将该代码剪切并粘贴到其他.Rmd file
中它可以工作,如果我在另一个Ubuntu框中执行它(与上面相同的规格)或MacOS X,它有效!
有什么想法吗?
更新
正如评论中所写,问题似乎是未命名参数的顺序,因此我将代码更改为:
ggplot(data = cuernavaca.map) +
geom_polygon(mapping = aes(x = long, y = lat, group = group, colour = NA, fill = pobtot)) +
coord_equal() +
facet_wrap(~nombre_municipio, scales = "free") +
scale_fill_gradient2(low = "blue", high = "red", midpoint = mean(cuernavaca.map$pobtot,
na.rm = TRUE)) +
tema.mapas +
ggtitle("Cuervaca y Zona metropolitana\nPoblación Total") +
labs(fill = "Población total")
知道一切正常......差不多。
如果您看到代码,我会移除size
中的geom_polygon
参数,并将colour
设置为NA
,我这样做了,不是出于美学原因,而是因为,这些参数不起作用:多边形的线宽变得很大,颜色只是被忽略,有时会变成浅红色,而在其他情况下它会消失......
作为一个有趣的事情,这个下面的情节现在也在起作用,但你猜怎么着?代码如下:
ggplot(legend = FALSE) +
geom_polygon(data = cuernavaca.map, size = 0.1, aes(long,
lat, group = group, colour = "grey80", fill = ind_vul)) +
scale_fill_gradient2(low = "blue", high = "red", midpoint = mean(cuernavaca.map$ind_vul, na.rm = TRUE)) +
geom_point(data = puntos.df, aes(as.numeric(long), as.numeric(lat), colour = geografico), size = 2) +
facet_wrap(~municipio, scales = "free") +
tema.mapas +
labs(fill = "Índice de vulnerabilidad")
puntos.df
是data.frame
的纬度和经度,所以没什么大不了的,但size
参数不在aes
之内且工作正常(我是没有得到错误的&#34;不知道如何处理数字...等等等等等等#34>
可能是内存问题吗?
答案 0 :(得分:0)
正如编辑中所说,答案是使用命名参数:
ggplot(data = cuernavaca.map) +
geom_polygon(mapping = aes(x = long, y = lat, group = group, colour = NA, fill = pobtot)) +
coord_equal() +
facet_wrap(~nombre_municipio, scales = "free") +
scale_fill_gradient2(low = "blue", high = "red", midpoint = mean(cuernavaca.map$pobtot, na.rm = TRUE)) +
有一些悬而未决的问题,但我在ggplot map with points: size, colour, legend, aesthetics problems
中发布了一个新问题