Plot logarithmic axes

You can use the Axes.set_yscale method. That allows you to change the scale after the Axes object is created. That would also allow you to build a control to let the user pick the scale if you needed to. The relevant line to add is: ax.set_yscale(‘log’) You can use ‘linear’ to switch back to a … Read more

Logarithm for BigInteger

If you want to support arbitrarily big integers, it’s not safe to just do Math.log(bigInteger.doubleValue()); because this would fail if the argument exceeds the double range (about 2^1024 or 10^308, i.e. more than 300 decimal digits ). Here’s my own class that provides the methods double logBigInteger(BigInteger val); double logBigDecimal(BigDecimal val); BigDecimal expBig(double exponent); BigDecimal … Read more

Logarithmic y-axis bins in python

try plt.yscale(‘log’, nonposy=’clip’) The issue is with the bottom of bars being at y=0 and the default is to mask out in-valid points (log(0) -> undefined) when doing the log transformation (there was discussion of changing this, but I don’t remember which way it went) so when it tries to draw the rectangles for … Read more

ValueError: math domain error

Your code is doing a log of a number that is less than or equal to zero. That’s mathematically undefined, so Python’s log function raises an exception. Here’s an example: >>> from math import log >>> log(-1) Traceback (most recent call last): File “<pyshell#59>”, line 1, in <module> log(-1) ValueError: math domain error Without knowing … Read more

Histogram with Logarithmic Scale and custom breaks

A histogram is a poor-man’s density estimate. Note that in your call to hist() using default arguments, you get frequencies not probabilities — add ,prob=TRUE to the call if you want probabilities. As for the log axis problem, don’t use ‘x’ if you do not want the x-axis transformed: plot(mydata_hist$count, log=”y”, type=”h”, lwd=10, lend=2) gets … Read more