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.
Python3
# 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.
Python3
# 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.
Python3
# 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: