BestR: Заполнить/карта/участок шейп с ggplot2, на основе значений regoin
Я следующее шейпфайл что карта Фландрии (Бельгия), и я хотел бы построить это с ggplot по отношению кcheapEnergyPrices. (таким образом, используйте цвет градиента)
head([email protected], n = 1)
OBJECTID Cs012011 Nis_ ... Sec Commune Prov_nl Reg_nl cheapestEnergyPrices mostExpensiveEnergyprices
3 11001A00- 11001 ... A00- AARTSELAAR Antwerpen Vlaanderen 935.03 1254.74
head([email protected], n=1)
[[1]]
An object of class "Polygons"
Slot "Polygons":
[[1]]
An object of class "Polygon"
Slot "labpt":
[1] 4.387485 51.132957
Slot "area":
[1] 6.825956e-05
Slot "hole":
[1] FALSE
Slot "ringDir":
[1] 1
Slot "coords":
[,1] [,2]
[1,] 4.385794 51.13767
[2,] 4.386132 51.13745
... ... ...
[147,] 4.385794 51.13767
Slot "plotOrder":
[1] 1
Slot "labpt":
[1] 4.387485 51.132957
Slot "ID":
[1] "0"
Slot "area":
[1] 6.825956e-05
На данный момент я пробовал много вещей, например, следующий фрагмент кода:
> ggplot() + geom_polygon(data = flanders, aes(x = long, y = lat, group = group,fill = flanders$cheapestEnergyPrices))
Но, к сожалению, это даст мне код следующей ошибки
Regions defined for each Polygons
Error: Aesthetics must be either length 1 or the same as the data (1224957): x, y, group, fill
Тем не менее, когда я заменяю Фландрию $ cheapestEnergyPrices по , как:
ggplot() + geom_polygon(data = flanders, aes(x = long, y = lat, group = group,fill = 1))
тогда я получу этот нежелательный результат, потому что все содержит один и тот же цвет.
Таким образом ... Я хотел бы построить свой шейп с ggplot2, в результате чего полигоны окрашены в, по отношению к значению, например, cheapestEnergyPrices. Например гмины который cheapestEnergyPrice является самым низким будет иметь цвет темно-зеленый и коммуну Кто на cheapestEnergyPrice гораздо выше будет иметь светло-зеленый/белый, или даже красный цвет ...
будет определение 'cheapestEnergyPrices' как' factor' изменить его? –
Это кажется ошибкой: 'geom_polygon (data = flanders, aes (..., fill = flanders $ cheapEnergyPrices))'. Поскольку он находится внутри 'aes', вы должны просто передать' fill = cheapEnergyPrices' и отбросить префикс 'flanders $' – arvi1000
... но трудно помочь дальше, так как сюжет не воспроизводится из того, что вы отправили, без шейп-файла – arvi1000