Before start:
- Download and install matplotlib following the instructions on the official web site.
- You might be asked to install some other libraries, like numpy or dateutil and so on. Don't hesitate to install them.
import matplotlib.pyplot as plt
import random
def buildHist(data):
# define window size, output and axes
fig, ax = plt.subplots(figsize=[8,6])
# set plot title
ax.set_title("Colored Histogram")
# set x-axis name
ax.set_xlabel("Random Number")
# set y-axis name
ax.set_ylabel("Number of Records")
# create histogram within output
N, bins, patches = ax.hist(data, bins=50, color="#777777")
# Iterate through all histogram elements
# each element in this interation is one patch on the histogram, where:
# - bin_size - number of records in current bin
# - bin - value of current bin (x-axis)
# - patch - a rectangle, object of class matplotlib.patches.Patch
# more details on patch properties: http://matplotlib.org/api/artist_api.html#matplotlib.patches.Patch
for bin_size, bin, patch in zip(N, bins, patches):
if bin_size == max(N):
patch.set_facecolor("#FF0000")
patch.set_label("max")
elif bin_size == min(N):
patch.set_facecolor("#00FF00")
patch.set_label("min")
# add legend to a plot
plt.legend()
# save plot as an image
plt.savefig("hist.png")
# show plot
plt.show()
if __name__ == "__main__":
data = [random.randint(0,1000) for i in xrange(0, 1000)]
buildHist(data)
As a result you will see nice histogram, like this one: