To specify different colors for different bars in a matplotlib histogram, we can take the following steps −
Steps
Set the figure size and adjust the padding between and around the subplots.
Create a figure and a set of subplots.
Plot a histogram with random data with 100 sample data.
Iterate in the range of number of bins and set random facecolor for each bar.
To display the figure, use show() method.
Example
import numpy as np import matplotlib.pyplot as plt import random import string # Set the figure size plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True # Figure and set of subplots fig, ax = plt.subplots() # Random data data = np.random.rand(100) # Plot a histogram with random data N, bins, patches = ax.hist(data, edgecolor='black', linewidth=1) # Random facecolor for each bar for i in range(len(N)): patches[i].set_facecolor("#" + ''.join(random.choices("ABCDEF" + string.digits, k=6))) # Display the plot plt.show()
Output
It will produce the following output −