Search code examples
pythonmatplotlibhistogram

How do I change the color of histogram bars?


I'm sure there's an answer to this somewhere, but I can't find it anywhere.

How do I color histogram bars by another set of data such that the bars look like this...

enter image description here

The only difference would be that the bars are different heights.


Solution

  • If you use the matplotlib module, there is a color parameter for the bar chart. In this parameter you can change what the color is. Here is an example of some code from the matplotlib.org that I have edited to show this to you.

    import matplotlib.pyplot as plt
    
    
    labels = ['G1', 'G2', 'G3', 'G4', 'G5']
    men_means = [20, 35, 30, 35, 27]
    women_means = [25, 32, 34, 20, 25]
    men_std = [2, 3, 4, 1, 2]
    women_std = [3, 5, 2, 3, 3]
    width = 0.35       # the width of the bars: can also be len(x) sequence
    
    fig, ax = plt.subplots()
    
    ax.bar(labels, men_means, width, yerr=men_std, label='Men', color = 'blue')
    ax.bar(labels, women_means, width, yerr=women_std, bottom=men_means,
           label='Women', color = 'pink')
    
    ax.set_ylabel('Scores')
    ax.set_title('Scores by group and gender')
    ax.legend()
    
    plt.show()
    

    This code will result in the graph linked

    Bar Chart Color Example

    There are a lot of different colors to choose from. Here is a link to the colors available with matplotlib.

    https://matplotlib.org/stable/gallery/color/named_colors.html