Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Spacing between bars in matplotlib hist() with thousands of bins

Tags:

I'm making histograms using matplotlib's hist() function or bar(), and I want to use >10,000 bins (one bin to represent the counts at each coordinate of a large entity). Is there any way to create more whitespace between the vertical bars when I create the figure? Currently, there is no whitespace between each bar of the histogram. For example:

# imports import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt import numpy as np import random  # Generating dummy data     coordinate_counts = [] for __ in range(1,100000) :     coordinate_counts.append(random.randrange(1,10000))  # plotting fig, ax1 = plt.subplots() ax1.hist(coordinate_counts,bins=range(1,10000)) fig.savefig('temp.png') 

I've tried using rwidth() and varying the value of that, as well as tried using figsize() and simply expanding the size of the plot, but the final result always has each vertical bar next to eachother with no whitespace inbetween.

like image 501
whymca Avatar asked Aug 20 '14 00:08

whymca


People also ask

How do I increase the spacing between bars in Matplotlib?

The space between bars can be added by using rwidth parameter inside the “plt. hist()” function. This value specifies the width of the bar with respect to its default width and the value of rwidth cannot be greater than 1.

Is there space between histogram?

A histogram is a plot of grouped data, in which the classes are continuous. There are no gaps between the bars in a histogram because there are no gaps between the classes.


1 Answers

The parameter rwidth specifies the width of your bar relative to the width of your bin. For example, if your bin width is say 1 and rwidth=0.5, the bar width will be 0.5. On both side of the bar you will have a space of 0.25.

Mind: this gives a space of 0.5 between consecutive bars. With the number of bins you have, you won't see these spaces. But with fewer bins they do show up.

enter image description here

like image 77
andere Avatar answered Oct 01 '22 05:10

andere