как сделать определенную ось, которая не является линейной или логарифмической?


Я хочу воспроизвести эту ось (см. рисунок), и у меня есть диапазон значений от 1-10 - в каком формате это происходит и как это может быть достигнуто в matplotlib?

Введите описание изображения здесь

1 2

1 ответ:

import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
import numpy as np

fig, ax = plt.subplots()
x = np.linspace(1, 11, 100)
y = np.sin(x)
ax.plot(x, y)
ax.set_xscale('log')
ax.xaxis.set_major_formatter(ticker.ScalarFormatter())
ax.xaxis.set_major_locator(ticker.FixedLocator([1, 3, 6, 10]))
ax.set_xlim(0, 11)
plt.show()

Введите описание изображения здесь