adding histogram example
							parent
							
								
									f8c316559e
								
							
						
					
					
						commit
						00f7caf69b
					
				@ -0,0 +1,37 @@
 | 
			
		||||
"""
 | 
			
		||||
Histogram: a diagram consisting of rectangles whose area is proportional to the frequency
 | 
			
		||||
of a variable and whose width is equal to the class interval.
 | 
			
		||||
 | 
			
		||||
"""
 | 
			
		||||
 | 
			
		||||
from collections import Counter
 | 
			
		||||
from matplotlib import pyplot as plt
 | 
			
		||||
 | 
			
		||||
grades = [83, 95, 91, 87, 70, 0, 85, 82, 100, 67, 73, 77, 0]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def decile(grade: int) -> int:
 | 
			
		||||
    """Returns the decile the grade falls into.
 | 
			
		||||
 | 
			
		||||
    Floor division must be used.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    return grade // 10 * 10
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
histogram = Counter(decile(grade) for grade in grades)
 | 
			
		||||
 | 
			
		||||
# Note We do not need to use the alignment tricks to center our bars
 | 
			
		||||
# That was a hold over from the previous Matplob lib API
 | 
			
		||||
plt.bar(x=histogram.keys(), height=histogram.values(), width=8)
 | 
			
		||||
 | 
			
		||||
# Used to set the axis scale x-min, x-max, y-min, y-max
 | 
			
		||||
# We want to fully show the x axis
 | 
			
		||||
# You usually always want your y to start at 0
 | 
			
		||||
plt.axis([-5, 105, 0, 5])
 | 
			
		||||
 | 
			
		||||
plt.xticks(range(0, 110, 10))
 | 
			
		||||
plt.xlabel("Decile")
 | 
			
		||||
plt.ylabel("# of Students")
 | 
			
		||||
plt.title("Distribution of Exam 1 Grades")
 | 
			
		||||
plt.show()
 | 
			
		||||
					Loading…
					
					
				
		Reference in New Issue