mapPies
From rworldmap v1.3-6
by Andy South
function to produce pie charts on a map
The function will produce a map with pie charts centred on country centroids (or other chosen points). The size of the circles is determined by the sum of the attribute columns and each section is coloured.
- Keywords
- aplot
Usage
mapPies(dF, nameX = "LON", nameY = "LAT", nameZs = c(names(dF)[3], names(dF)[4]), zColours = c(1:length(nameZs)), ratio = 1, addCatLegend = TRUE, symbolSize = 1, maxZVal = NA, xlim = NA, ylim = NA, mapRegion = "world", borderCol = "grey", oceanCol = NA, landCol = NA, add = FALSE, main = "", lwd = 0.5, ...)
Arguments
- dF
- data frame or SpatialPolygonsDataFrame
- nameX
- name of column containing the X variable (longitude), not needed if dF is a SpatialPolygonsDataFrame
- nameY
- name of column containing the Y variable (latitude), not needed if dF is a SpatialPolygonsDataFrame
- nameZs
- name of columns containing numeric variables to determine pie sections
- zColours
- colours to apply to the pie section for each attribute column
- ratio
- the ratio of Y to N in the output map, set to 1 as default
- addCatLegend
- whether to add a legend for categories
- symbolSize
- multiplier of default symbol size
- maxZVal
- the attribute value corresponding to the maximum symbol size, this can be used to set the scaling the same between multiple plots
- xlim
- map extents c(west,east), can be overidden by mapRegion
- ylim
- map extents c(south,north), can be overidden by mapRegion
- mapRegion
- a country name from getMap()[['NAME']] or 'world','africa','oceania','eurasia','uk' sets map extents, overrides xlim,ylim
- borderCol
- the colour for country borders
- oceanCol
- a colour for the ocean
- landCol
- a colour to fill countries
- add
- whether to add the symbols to an existing map, TRUE/FALSE
- main
- title for the map
- lwd
- line width for country borders
- ...
- any extra arguments to points()
Details
Beware of creating plots that are difficult for the reader to interpret. More than 3 or 4 categories may be too many.
Value
-
currently doesn't return anything
Examples
#getting example data
dF <- getMap()@data
## these examples repeat the same column in 'nameZs'
## to show that equal sized pies are created
#mapPies( dF,nameX="LON", nameY="LAT",nameZs=c('AREA','AREA') )
#mapPies( dF,nameX="LON", nameY="LAT",nameZs=c('AREA','AREA')
# , mapRegion='africa' )
mapPies( dF,nameX="LON", nameY="LAT"
, nameZs=c('POP_EST','POP_EST','POP_EST','POP_EST'),mapRegion='africa' )
Community examples
Looks like there are no examples yet.