我試圖運行此下面的代碼:ggplot怪異的情況下拋出一個錯誤
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")
,但我得到這個錯誤:
Error: ggplot2 doesn't know how to deal with data of class uneval
對象cuernavaca.map
是強化SpatialDataFrame
。
奇怪的是,當我執行knit2html
或I按下按鈕knit HTML
,如果我在執行的代碼行這僅在一個機器發生(Ubuntu的13.04,RStudio 0.97.551,R 3.0.1)控制檯(裏面RStudio)一切正常(我的意思是,情節完成),如果我在其他.Rmd file
它剪切和粘貼代碼,它的工作原理和如果我在另一個Ubuntu盒子(相同規格如上)或MacOS X執行它, !
任何想法?
UPDATE:
正如寫在評論,這個問題似乎是未命名參數的順序,所以我的代碼改成這樣:
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
,並在工作(我沒有得到的「一個錯誤不知道如何處理數字......等等等等「)
可能是內存問題?
我重新安裝在另一臺計算機與Ubuntu 13.04 ,一切都很好,直到我安裝了RStudio。也許這個問題與Ubuntu 13.04中你必須強制安裝'libjpeg62'來安裝Rstudio有關,你怎麼看? – nanounanue
我認爲我發現了一些光,它具有與在函數的參數爲了做到:如果我改變到這個代碼(即指定'映射=')'geom_polygon(大小= 0,1, 映射= AES (填寫= pobtot.bin))'中,eror消失了,但現在我得到這樣一個:'錯誤:GGPLOT2不知道如何處理類numeric'的數據,所以,還是無解:( – nanounanue
最後錯誤與'aes'外的'size'參數有關,但請參閱上面的編輯... – nanounanue