I would like to be able to create a world map with the Circles on the graph relevant to the No of Documents.
This I have tried to do using the mapBubbles, but when plotting the graph something goes wrong.
The data file I have is as below:
ISO3V10 Country No of Documents Lat Lon
ARG Argentina 41 -64 -34
AUS Australia 224 133 -27
CAN Canada 426 -95 60
IRL Ireland 68 -8 53
ITA Italy 583 12.8333 42.8333
NLD Netherlands 327 5.75 52.5
NZL New Zealand 26 174 -41
ESP Spain 325 -4 40
GBR United Kingdom 2849 -2 54
USA United States 3162 -97 38
The code I have written is below:
# Thanks to Andrie for the reproducible code and Paolo for the suggested edit
zz <-"ISO3V10 Country No.of.Documents Lat Lon
ARG Argentina 41 -64 -34
AUS Australia 224 133 -27
CAN Canada 426 -95 60
IRL Ireland 68 -8 53
ITA Italy 583 12.8333 42.8333
NLD Netherlands 327 5.75 52.5
NZL 'New Zealand' 26 174 -41
ESP Spain 325 -4 40
GBR 'United Kingdom' 2849 -2 54
USA 'United States' 3162 -97 38
"
dF2 <- read.table(textConnection(zz), header = TRUE)
# dF2 <- read.delim(file="C:\\Users\\js207963\\Documents\\noofpublications_AllUpdated.txt", header = TRUE, sep = "\t")
dF2[]
par(mai=c(0,0,0.2,0),xaxs="i",yaxs="i")
mapBubbles(dF2=getMap(), nameZSize="No.of.Documents", nameZColour="Country",oceanCol="lightblue", landCol="wheat", addLegend=FALSE
So the question is can you help me fix the code to plot the data correctly?
Cheers, Jess
You need to pass a bit more info to the
mapBubbles
function, since your data frame is not a SpatialPolygonsDataFrame. The following should work (you'reLat
andLon
might be mislabeled):Above,
nameX
andnameY
are passed to the function to indicate where to plot the bubbles. Furthermore, pass the data framedF2
to the argumentdF
, instead of a call togetMap()
.EDIT:
I also like Andrie's answer with
ggplot2
(among other things, the space is better used than in the graphic below), but since you've posted other questions specifically usingrworldmap
, I thought it appropriate to stick to that package.