mapBars
From rworldmap v1.3-6
by Andy South
function to produce bar plots on a map
The function will produce a map with bars centred on country centroids (or other chosen points). The length of the bars is determined by the sum of the attribute columns and each section is coloured.
- Keywords
- aplot
Usage
mapBars(dF = "", nameX = "longitude", nameY = "latitude", nameZs = c(names(dF)[3], names(dF)[4]), zColours = c(1:length(nameZs)), barWidth = 1, barOrient = "vert", barRelative = TRUE, ratio = 1, addCatLegend = TRUE, addSizeLegend = TRUE, symbolSize = 1, maxZVal = NA, xlim = NA, ylim = NA, mapRegion = "world", borderCol = "grey", oceanCol = NA, landCol = NA, add = FALSE, main = "", lwd = 0.5, lwdSymbols = 1, ...)
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 (lattitude), not needed if dF is a SpatialPolygonsDataFrame
- nameZs
- name of columns containing numeric variables to determine bar sections
- zColours
- colours to apply to the bar section for each attribute column
- barWidth
- multiple for the width of bar symbols, relative to barOrient see below
- barOrient
- orientation of bars, options 'horiz' and 'vert'
- barRelative
- default is TRUE, each variable (column) is scaled to it's maximum value
- ratio
- the ratio of Y to N in the output map, set to 1 as default
- addCatLegend
- whether to add a legend for categories
- addSizeLegend
- whether to add a legend for symbol size
- 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
- lwdSymbols
- line width for symbols
- ...
- any extra arguments to points()
Details
Horizontal or vertical bars can be achieved by using the barOrient argument 'horiz' or 'vert'.
Value
-
currently doesn't return anything
Examples
#getting example data
dF <- getMap()@data
mapBars( dF,nameX="LON", nameY="LAT",nameZs=c('POP_EST','GDP_MD_EST') )
mapBars( dF,nameX="LON", nameY="LAT",nameZs=c('POP_EST','GDP_MD_EST'), mapRegion='africa' )
mapBars( dF,nameX="LON", nameY="LAT",nameZs=c('POP_EST','GDP_MD_EST'),
mapRegion='africa', symbolSize=20 )
mapBars( dF,nameX="LON", nameY="LAT",nameZs=c('POP_EST','GDP_MD_EST'), mapRegion='africa',
symbolSize=20, barOrient = 'horiz' )
# this does work too
#mapBars( dF,nameX="LON", nameY="LAT"
# , nameZs=c('POP_EST','GDP_MD_EST')
# , mapRegion='africa'
# , symbolSize=4 )
Community examples
Looks like there are no examples yet.