In [1]:
import numpy as np
import matplotlib.pyplot as plt
from IPython.display import display,Math
In [2]:
print('Log and linear scales')
display(Math('linear \\quad \\quad log-space'))
display(Math('\\quad 1 \\quad \\quad \\quad \\quad 1'))
display(Math('\\quad 2 \\quad \\quad \\quad \\quad 1.5'))
display(Math('\\quad 3 \\quad \\quad \\quad \\quad 2.2'))
display(Math('\\quad 4 \\quad \\quad \\quad \\quad 3.3'))
display(Math('\\quad 5 \\quad \\quad \\quad \\quad 5'))
Log and linear scales
$\displaystyle linear \quad \quad log-space$
$\displaystyle \quad 1 \quad \quad \quad \quad 1$
$\displaystyle \quad 2 \quad \quad \quad \quad 1.5$
$\displaystyle \quad 3 \quad \quad \quad \quad 2.2$
$\displaystyle \quad 4 \quad \quad \quad \quad 3.3$
$\displaystyle \quad 5 \quad \quad \quad \quad 5$
In [3]:
np.linspace(1,2,10)
Out[3]:
array([1.        , 1.11111111, 1.22222222, 1.33333333, 1.44444444,
       1.55555556, 1.66666667, 1.77777778, 1.88888889, 2.        ])
In [4]:
np.logspace(1,2,10) # 10 to the power of 1 and 2
Out[4]:
array([ 10.        ,  12.91549665,  16.68100537,  21.5443469 ,
        27.82559402,  35.93813664,  46.41588834,  59.94842503,
        77.42636827, 100.        ])
In [5]:
a = np.log10(1)
b = np.log10(2)
print(a)
print(b)

np.logspace(a,b,10)
0.0
0.3010299956639812
Out[5]:
array([1.        , 1.08005974, 1.16652904, 1.25992105, 1.36079   ,
       1.46973449, 1.58740105, 1.71448797, 1.85174942, 2.        ])
In [6]:
a = 2
b = 100
n = 50

li = np.linspace(a,b,n)
lo = np.logspace(np.log10(a),np.log10(b),n)

plt.plot(li,li,label='linear')
plt.plot(li,lo,label='log')

plt.legend()
plt.axis('square')
plt.show()