Причина, по которой ваша линия не растягивается на графике масштаба журнала, заключается в том, что между точками, находящимися сверху и снизу, нет точек.log plot
не изгибает линии, а только размещает точки на другой шкале, линия между ними все еще прямая.
Чтобы изменить это, мы добавляем больше точек между точками.и результат станет изогнутым.
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.ticker import ScalarFormatter
# Data for plotting
t = [0.0, 62.5, 125.0, 187.5, 250, 312.5, 375, 437.5, 500]
s = [0.1, 0.005, 0.1, 0.005, 0.1, 0.005, 0.1, 0.005, 0.1]
def extendlist(l):
master = []
for i in range(len(l)-1):
x = np.linspace(l[i], l[i+1], 50)
master.extend(x)
return master
t = extendlist(t)
s = extendlist(s)
fig, ax = plt.subplots()
ax.semilogy(t, s)
ax.set(xlabel='x axis', ylabel='y axis', title='Stuff')
plt.xlim((0,500))
plt.ylim((0.001, 1))
plt.show()
Это сгенерирует то, что вы нарисовали на бумаге.
