 <p>You can change the log in the y axis with the following:</p> <pre><code>plt.gca().set_yscale('linear') </code></pre> <p>Or press the L key when the figure is in focus.</p> <p>However, your <code>hist()</code> with <code>log=True</code> does not plot a logarithmic x axis. From the <a href="http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.hist" rel="nofollow">docs</a>:</p> <blockquote> <p>matplotlib.pyplot.hist(x, bins=10, ...)</p> <p>bins: Either an integer number of bins or a sequence giving the bins. If bins is an integer, bins + 1 bin edges will be returned, consistent with numpy.histogram() for numpy version >= 1.3, and with the new = True argument in earlier versions. <strong>Unequally spaced bins are supported if bins is a sequence.</strong></p> </blockquote> <p>So if you just set <code>bins=10</code> they will be equally spaced, which is why when you set the xscale to log they have decreasing widths. To get equally spaced bins in a log xscale you need something like:</p> <pre><code>plt.hist(x, bins=10**np.linspace(0, 1, 10)) </code></pre>