where is my code for default base
Код: Выделить всё
import numpy as np
import matplotlib.pyplot as plt
x = np.array([8, 16, 32, 64, 128, 256, 512, 1024])
y = np.array([2.412, 3.424, 5.074, 7.308, 11.444, 18.394, 30.644, 48.908])
base = 2 # Base for logarithmic scale
fig, ax = plt.subplots(figsize=(8,6))
# log x and y axis
ax.plot(x, y, 'o--')
ax.set_xscale('log')
ax.set_yscale('log')
ax.set(title='loglog')
ax.grid()
ax.grid(which="minor", color="0.9")
Когда я изменяю базу, используя базу аргументов in ax.set_xcale ()
import numpy as np
import matplotlib.pyplot as plt
x = np.array([8, 16, 32, 64, 128, 256, 512, 1024])
y = np.array([2.412, 3.424, 5.074, 7.308, 11.444, 18.394, 30.644, 48.908])
base = 2 # Base for logarithmic scale
fig, ax = plt.subplots(figsize=(8,6))
# log x and y axis
ax.plot(x, y, 'o--')
ax.set_xscale('log', base=base)
ax.set_yscale('log', base=base)
ax.set(title='loglog')
ax.grid()
ax.grid(which="minor", color="0.9")
Графики, которые я создал, верны, то, что я хочу, является эстетичным. Держите эти маленькие клещи "logarithmly".
Код: Выделить всё
def ticks(y, pos):
return r'$2^{:.0f}$'.format(np.log(y)/np.log(base)) if y > 0 else '0'
ax.xaxis.set_major_formatter(ticker.FuncFormatter(ticks))
ax.yaxis.set_major_formatter(ticker.FuncFormatter(ticks))
Что я хочу, так это эстетика, оба графика верны, но эти маленькие тика «логарифмили» облегчает график, чтобы интерпретировать как log-log.>
Подробнее здесь: https://stackoverflow.com/questions/796 ... -log-scale