I want to make a plot with matplotlib with really small values, shown on a log scale. This works fine until the numbers get too small and don't fit in a float.
I am representing values using SymPy arbitrary precision floats, but these are apparently converted to Python or NumPy machine floats internally in matplotlib.
For example
>>> import sympy
>>> import matplotlib.pyplot as plt
>>> plt.plot([0, 1, 2], [sympy.Float('1e-20'), sympy.Float('1e-100'), sympy.Float('1e-700')])
[<matplotlib.lines.Line2D object at 0x11ac0c208>]
>>> plt.yscale('log')
What it should show is the third value at 10^-700 (not at negative infinity).
Now I have very little hope of getting matplotlib to use SymPy Floats internally (if it's possible, let me know). What I would like to do is provide matplotlib with the log of the value, which I can compute myself just fine, but still display the exponential of that value on the y-axis with a log scale.


