Sem1 Module2 Unit1 Graphs
Sem1 Module2 Unit1 Graphs
Question 1
Write a python programme to display the given data in a diagram of the following form (Fig 1).
Animal: Cat Dog Frog Others
No of Animal: 55 30 15 25
[1]: # import library
import matplotlib.pyplot as plt
# data loading
Category = ["CAT","DOG","FROG","OTHERS"]
1
Datalist = [55,30,15,25]
offsets = (0.05,0,0,0)
# graph creation
plt.pie(Datalist, labels = Category, explode=offsets, startangle=90, autopct =
,→'%1.1f%%')
# data loading
Category = ["CAT","DOG","FROG","OTHERS"]
Number_of_Animals = [55,30,15,25]
# graph creation
plt.bar(Category,Number_of_Animals)
2
Question 2
Write a python programme to display the given data in a sub-divided and multiple bar diagram of
the following form (Fig 2).
Year Industry Agriculture Total
2008 33.9 24.9 58.8
2009 34.5 24.1 58.6
2010 35.6 22.9 58.5
2011 36.8 21.9 58.7
2012 37.6 21.7 59.3
2013 37.5 20.6 58.1
2014 37.1 20.4 57.5
2015 36.7 21.0 57.7
2016 36.5 20.5 57.0
[3]: # import library
import matplotlib.pyplot as plt
import numpy as np
# data loading
X_category = ['2008','2009','2010','2011','2012','2013','2014','2015','2016']
Industry = [33.9,34.5,35.6,36.8,37.6,37.5,37.1,36.7,36.5]
Agriculture = [24.9,24.1,22.9,21.9,21.7,20.6,20.4,21.0,20.5]
# graph creation
plt.bar(X_category, Industry, label = "Industry")
plt.bar(X_category, Agriculture, bottom=Industry, label="Agriculture")
3
plt.title("Patterns of Electricity Consumption")
plt.legend()
plt.show()
# data loading
X_category = ['2008','2009','2010','2011','2012','2013','2014','2015','2016']
subcategory = ["Industry","Agriculture"]
Industry = [33.9,34.5,35.6,36.8,37.6,37.5,37.1,36.7,36.5]
Agriculture = [24.9,24.1,22.9,21.9,21.7,20.6,20.4,21.0,20.5]
# graph creation
n = 9
m = 2
base = np.arange(n)
bar_width = 1/m-0.1
plt.bar(base, Industry, width = bar_width, label = subcategory[0])
plt.bar(base+bar_width, Agriculture, width = bar_width, label=subcategory[1])
4
Question 3
Write a python programme to display the given data in histograms of the following form (Fig 3).
Marks: 0-10 10-20 20-30 30-40 40-50 50-60 60-70 70-80 80-90
Boys: 5 16 20 25 30 18 10 8 0
Girls: 0 8 10 20 32 45 26 16 9
[5]: # import library
import matplotlib.pyplot as plt
# data loading
list1 = [(5,5),(15,16),(25,20),(35,25),(45,30),(55,18),(65,10),(75,8),(85,0)]
boys = sum(([val]*freq for val,freq in list1),[])
# graph creation
bins =9
range_1 =(0,90)
plt.hist(boys, bins, range_1, edgecolor = "black", color = "Green")
5
[6]: # import library
import matplotlib.pyplot as plt
# data loading
list2 = [(5,0),(15,8),(25,10),(35,20),(45,32),(55,45),(65,26),(75,16),(85,9)]
girls = sum(([val]*freq for val,freq in list2),[])
# graph creation
bins =9
range_2 = (0,90)
plt.hist(girls, bins, range_2, edgecolor="black", color="red")
6
Question 4
Write a python programme to display the given data in error bar charts of the following form (Fig
4).
Experiments Mean SD
Trial 1 55.7 7.0
Trial 2 77.0 14.6
Trial 3 52.0 6.3
Trial 4 58.0 15.2
Trial 5 63.0 12.3
Trial 6 56.0 8.9
[7]: # import library
import matplotlib.pyplot as plt
# data loading
x = ["Trial1","Trial2","Trial3","Trial4","Trial5","Trial6"]
mean = [55.7,77.0,52.0,58.0,63.0,56.0]
SD = [7.0,14.6,6.3,15.2,12.3,8.9]
# graph creation
plt.bar(x, mean, yerr = SD, capsize = 2, error_kw = dict(lolims = True))
7
[8]: # import library
import matplotlib.pyplot as plt
# data loading
x = ["Trial1","Trial2","Trial3","Trial4","Trial5","Trial6"]
mean = [55.7,77.0,52.0,58.0,63.0,56.0]
SD = [7.0,14.6,6.3,15.2,12.3,8.9]
# graph creation
plt.errorbar(x, mean, yerr = SD, fmt = 'bo', capsize = 5)
8
Question 5
Write a python programme to display the given data in a diagram of the following form using pie
chart and bar chart (Fig 5).
Hair No of person
Blue 75
Red 50
Brown 88
Black 37
Total 250
[9]: # import library
import matplotlib.pyplot as plt
# data loading
Category = ["Blue","Red","Brown","Black"]
Datalist = [75,50,88,37]
offsets = (0,0,0.05,0)
# graph creation
plt.pie(Datalist, labels = Category, explode=offsets, startangle=90, autopct =
,→'%1.1f%%')
9
[10]: # import library
import matplotlib.pyplot as plt
# data loading
Category = ["Blue","Red","Brown","Black"]
Number_of_person = [75,50,88,37]
# graph creation
plt.bar(Category, Number_of_person)
10
Question 6
Write a python programme to display the given data in a diagram of the following form using pie
chart and bar chart (Fig 6).
Hair No of person
Blue 62
Red 25
Brown 125
Black 38
Total 250
[11]: # import library
import matplotlib.pyplot as plt
# data loading
Category = ["Blue","Red","Brown","Black"]
Datalist = [62,25,125,38]
offsets = (0,0,0,0.05)
# graph creation
plt.pie(Datalist, labels = Category, explode=offsets, autopct = '%1.1f%%',
,→shadow=True)
11
[12]: # import library
import matplotlib.pyplot as plt
# data loading
Category = ["Blue","Red","Brown","Black"]
Number_of_person = [62,25,125,38]
# graph creation
plt.bar(Category, Number_of_person)
12
Question 7 & 8
Write a python programme to display the given data in a sub-divided and multiple bar diagram of
the following form (Fig 7).
# data loading
X_category = ["Blue","Red","Brown","Black"]
Blue = [45,20,24,25]
Green = [24,22,13,10]
Brown = [42,48,91,45]
Black = [23,10,45,13]
# graph creation
plt.bar(X_category, Blue, label = "Blue")
plt.bar(X_category, Green, bottom = Blue, label = "Green")
Cum_Green = np.add(Blue,Green)
plt.bar(X_category, Brown, bottom = Cum_Green, label = "Brown")
13
Cum_Brown = np.add(Cum_Green,Brown)
plt.bar(X_category, Black, bottom = Cum_Brown, label = "Black")
# data loading
X_category = ["Blue","Red","Brown","Black"]
subcategory=["Blue","Green","Brown","Black"]
Blue = [45,20,24,25]
Green = [24,22,13,10]
Brown = [42,48,91,45]
Black = [23,10,45,13]
# graph creation
n = 4
m = 4
base = np.arange(n)
bar_width = 1/m-0.1
plt.bar(base, Blue, width = bar_width, label = subcategory[0])
plt.bar(base+bar_width, Green, width = bar_width, label=subcategory[1])
plt.bar(base+2*bar_width, Brown, width = bar_width, label=subcategory[2])
14
plt.bar(base+3*bar_width, Black, width = bar_width, label=subcategory[3])
Question 9
The following Table shows the lives (in hours) of four batches of electric lamps. Write a python
programme to display the given data in error bar charts of the following style (Fig 9).
Batches Mean SD
1 1680 63.9196
2 1662 58.1034
3 1636.25 103.191
4 1568.33 58.7131
[15]: # import library
import matplotlib.pyplot as plt
# data loading
x = ["Batch 1","Batch 2","Batch 3","Batch 4"]
mean = [1680,1662,1636.25,1568.33]
SD = [63.9196,58.1034,103.191,58.7131]
# graph creation
15
plt.bar(x, mean, yerr = SD, capsize = 6)
# data loading
x = ["Batch 1","Batch 2","Batch 3","Batch 4"]
mean = [1680,1662,1636.25,1568.33]
SD = [63.9196,58.1034,103.191,58.7131]
# graph creation
plt.errorbar(x, mean, yerr = SD, capsize = 6, fmt='-bo')
16
Question 10
The following Table shows the eect of four xed types of television tube coating on the conductivity
of the tubes. Write a python program to display the given data in error bar charts of the following
style (Fig 10).
Batches Mean SD
1 58.4 2.5768
2 57.2 4.8744
3 43.6 2.4980
4 42.0 2.0000
[17]: # import library
import matplotlib.pyplot as plt
# data loading
x = ["Coating 1","Coating 2","Coating 3","Coating 4"]
mean = [58.4,57.2,43.6,42.0]
SD = [2.5768,4.8744,2.4980,2.0]
# graph creation
plt.bar(x, mean, yerr = SD, capsize = 6)
17
[18]: # import library
import matplotlib.pyplot as plt
# data loading
x = ["Coating 1","Coating 2","Coating 3","Coating 4"]
mean = [58.4,57.2,43.6,42.0]
SD = [2.5768,4.8744,2.4980,2.0]
# graph creation
plt.errorbar(x, mean, yerr = SD, capsize = 6, fmt='--bo')
18
Question 11
The following Table shows average life and standard deviation of four brands of tyres. Write a
python programme to display the given data in error bar charts of the following style (Fig 11).
Batches Mean SD
1 58.4 2.5768
2 57.2 4.8744
3 43.6 2.4980
4 42.0 2.0000
[19]: # import library
import matplotlib.pyplot as plt
# data loading
x = ["Brand 1","Brand 2","Brand 3","Brand 4"]
mean = [58.4,57.2,43.6,42.0]
SD = [2.5768,4.8744,2.4980,2.0]
# graph creation
plt.bar(x, mean, yerr = SD, capsize = 6)
19
[20]: # import library
import matplotlib.pyplot as plt
# data loading
x = ["Brand 1","Brand 2","Brand 3","Brand 4"]
mean = [58.4,57.2,43.6,42.0]
SD = [2.5768,4.8744,2.4980,2.0]
# graph creation
plt.errorbar(x, mean, yerr = SD, capsize = 6, fmt='--bo')
20
Remarks:
We can create subplots in a single diagram as follows
[21]: # import library
import matplotlib.pyplot as plt
# data loading
x = ["Brand 1","Brand 2","Brand 3","Brand 4"]
mean = [58.4,57.2,43.6,42.0]
SD = [2.5768,4.8744,2.4980,2.0]
# graph creation
fig, ax = plt.subplots(1, 2, figsize =(8, 8))
ax[0].bar(x, mean, yerr = SD, capsize = 6)
ax[1].errorbar(x, mean, yerr = SD, capsize = 6, fmt='--bo')
21
[22]: # import library
import matplotlib.pyplot as plt
# data loading
x = ["Brand 1","Brand 2","Brand 3","Brand 4"]
mean = [58.4,57.2,43.6,42.0]
SD = [2.5768,4.8744,2.4980,2.0]
# graph creation
fig, ax = plt.subplots(2, 1, figsize =(8, 8))
ax[0].bar(x, mean, yerr = SD, capsize = 6)
ax[1].errorbar(x, mean, yerr = SD, capsize = 6, fmt='--bo')
22
ax[1].set_ylabel("The life of tyres (in thousand hours)")
ax[1].set_xlabel('Brands of tyres')
plt.show()
23