Plotting World Map Using Pygal in Python
Pygal is a Python module that is mainly used to build SVG (Scalar Vector Graphics) graphs and charts. SVG is a vector-based graphics in the XML format that can be edited in any editor. Pygal can create graphs with minimal lines of code that can be easy to understand and write.
We might want to plot the World Map with country wise boundaries and might even want to represent or differentiate countries on a geographical basis or based on some data in our project. Python Library "Pygal" will help us achieve our task. So let's get started.
Installation
pip install pygal_maps_world
Syntax:
worldmap = pygal.maps.world.World()
Now you can plot the graph of the countries by using their country code. Here is the list of the country code.
Codes | Countries |
---|---|
ad | Andorra |
ae | United Arab Emirates |
af | Afghanistan |
al | Albania |
am | Armenia |
ao | Angola |
aq | Antarctica |
ar | Argentina |
at | Austria |
au | Australia |
az | Azerbaijan |
ba | Bosnia and Herzegovina |
bd | Bangladesh |
be | Belgium |
bf | Burkina Faso |
bg | Bulgaria |
bh | Bahrain |
bi | Burundi |
bj | Benin |
bn | Brunei Darussalam |
bo | Bolivia, Plurinational State of |
br | Brazil |
bt | Bhutan |
bw | Botswana |
by | Belarus |
bz | Belize |
ca | Canada |
cd | Congo, the Democratic Republic of the |
cf | Central African Republic |
cg | Congo |
ch | Switzerland |
ci | Cote d’Ivoire |
cl | Chile |
cm | Cameroon |
cn | China |
co | Colombia |
cr | Costa Rica |
cu | Cuba |
cv | Cape Verde |
cy | Cyprus |
cz | Czech Republic |
de | Germany |
dj | Djibouti |
dk | Denmark |
do | Dominican Republic |
dz | Algeria |
ec | Ecuador |
ee | Estonia |
eg | Egypt |
eh | Western Sahara |
er | Eritrea |
es | Spain |
et | Ethiopia |
fi | Finland |
fr | France |
ga | Gabon |
gb | United Kingdom |
ge | Georgia |
gf | French Guiana |
gh | Ghana |
gl | Greenland |
gm | Gambia |
gn | Guinea |
gq | Equatorial Guinea |
gr | Greece |
gt | Guatemala |
gu | Guam |
gw | Guinea-Bissau |
gy | Guyana |
hk | Hong Kong |
hn | Honduras |
hr | Croatia |
ht | Haiti |
hu | Hungary |
id | Indonesia |
ie | Ireland |
il | Israel |
in | India |
iq | Iraq |
ir | Iran, Islamic Republic of |
is | Iceland |
it | Italy |
jm | Jamaica |
jo | Jordan |
jp | Japan |
ke | Kenya |
kg | Kyrgyzstan |
kh | Cambodia |
kp | Korea, Democratic People’s Republic of |
kr | Korea, Republic of |
kw | Kuwait |
kz | Kazakhstan |
la | Lao People’s Democratic Republic |
lb | Lebanon |
li | Liechtenstein |
lk | Sri Lanka |
lr | Liberia |
ls | Lesotho |
lt | Lithuania |
lu | Luxembourg |
lv | Latvia |
ly | Libyan Arab Jamahiriya |
ma | Morocco |
mc | Monaco |
md | Moldova, Republic of |
me | Montenegro |
mg | Madagascar |
mk | Macedonia, the former Yugoslav Republic of |
ml | Mali |
mm | Myanmar |
mn | Mongolia |
mo | Macao |
mr | Mauritania |
mt | Malta |
mu | Mauritius |
mv | Maldives |
mw | Malawi |
mx | Mexico |
my | Malaysia |
mz | Mozambique |
na | Namibia |
ne | Niger |
ng | Nigeria |
ni | Nicaragua |
nl | Netherlands |
no | Norway |
np | Nepal |
nz | New Zealand |
om | Oman |
pa | Panama |
pe | Peru |
pg | Papua New Guinea |
ph | Philippines |
pk | Pakistan |
pl | Poland |
pr | Puerto Rico |
ps | Palestine, State of |
pt | Portugal |
py | Paraguay |
re | Reunion |
ro | Romania |
rs | Serbia |
ru | Russian Federation |
rw | Rwanda |
sa | Saudi Arabia |
sc | Seychelles |
sd | Sudan |
se | Sweden |
sg | Singapore |
sh | Saint Helena, Ascension and Tristan da Cunha |
si | Slovenia |
sk | Slovakia |
sl | Sierra Leone |
sm | San Marino |
sn | Senegal |
so | Somalia |
sr | Suriname |
st | Sao Tome and Principe |
sv | El Salvador |
sy | Syrian Arab Republic |
sz | Swaziland |
td | Chad |
tg | Togo |
th | Thailand |
tj | Tajikistan |
tl | Timor-Leste |
tm | Turkmenistan |
tn | Tunisia |
tr | Turkey |
tw | Taiwan (Republic of China) |
tz | Tanzania, United Republic of |
ua | Ukraine |
ug | Uganda |
us | United States |
uy | Uruguay |
uz | Uzbekistan |
va | Holy See (Vatican City State) |
ve | Venezuela, Bolivarian Republic of |
vn | Viet Nam |
ye | Yemen |
yt | Mayotte |
za | South Africa |
zm | Zambia |
zw | Zimbabwe |
Example 1: Plotting Countries Based on Data.
# import pygal library
import pygal
# create a world map
worldmap = pygal.maps.world.World()
# set the title of the map
worldmap.title = 'Countries'
# adding the countries
worldmap.add('Random Data', {
'aq' : 10,
'cd' : 30,
'de' : 40,
'eg' : 50,
'ga' : 45,
'hk' : 23,
'in' : 70,
'jp' : 54,
'nz' : 41,
'kz' : 32,
'us' : 66
})
# save into the file
worldmap.render_to_file('abc.svg')
print("Success")
Output:

Example 2: Plotting Countries with labels.
# import pygal
import pygal
# import Style class from pygal.style
from pygal.style import Style
# create a Style object
custom_style = Style( colors = ('#FF0000' , '#0000FF' ,
'#00FF00' , '#000000',
'#FFD700'))
# create a world map,
# Style class is used for using
# the custom colours in the map,
worldmap = pygal.maps.world.World(style
= custom_style)
# set the title of the map
worldmap.title = 'Some Countries Starting from Specific Letters'
# hex code of colours are used
# for every .add() called
worldmap.add('"E" Countries',
['ec', 'ee', 'eg', 'eh',
'er', 'es','et'])
worldmap.add('"F" Countries',
['fr', 'fi'])
worldmap.add('"P" Countries',
['pa', 'pe', 'pg', 'ph', 'pk',
'pl','pr', 'ps', 'pt', 'py'])
worldmap.add('"Z" Countries',
['zm', 'zw'])
worldmap.add ('"A" Countries' ,
['ad','ae', 'af', 'al', 'am', 'ao',
'aq', 'ar', 'at', 'au', 'az'],
color = 'black')
# save into the file
worldmap.render_to_file('abc.svg')
print("Success")
Output

Example 3: Plotting Continents.
# import pygal library
import pygal
# create a world map
worldmap = pygal.maps.world.SupranationalWorld()
# set the title of map
worldmap.title = 'Continents'
# adding the continents
worldmap.add('Africa', [('africa')])
worldmap.add('North america', [('north_america')])
worldmap.add('Oceania', [('oceania')])
worldmap.add('South america', [('south_america')])
worldmap.add('Asia', [('asia')])
worldmap.add('Europe', [('europe')])
worldmap.add('Antartica', [('antartica')])
# save into the file
worldmap.render_to_file('abc.svg')
print("Success")
Output:
