Я работаю с ситуацией, когда более ранняя информация более интересна, поэтому я хочу иметь более плотные значения оси X в начале, поэтому я использую numpy.logspace(0, numpylog10(max_x))
Однако это находится в «вещи» обратного времени, так что ранние данные фактически находятся в конце, а «конец» реального мира равен нулю. Сторнирование значений по оси X достаточно просто: max_x - numpy.logspace(~~as before~~)
Я хочу отобразить эти данные в виде полулогарифмического графика по оси X, однако plt.semilogx
предполагает регулярно ориентируемый журнал, который, очевидно, не работать здесь. Как мне решить эту проблему?
Пример проблемы в действии:
from numpy import logspace, log10
import matplotlib.pyplot as plt
num = 12E9
times_inv = logspace(0, log10(num), 400)
times = num - logspace(log10(num), 0, 400)
y = [2 for _ in times]
plt.plot(times, y, marker='o')
plt.show()
plt.semilogx(times, y, marker='o')
plt.show()
Не зарегистрированные данные, как вы можете видеть, становятся ближе к концу.
Использование semilogx завершается неудачно, так как оно вошло «в неправильном направлении»:
В качестве дальнейшего шага это может привести к быть полезным, чтобы перевернуть его обратно в числа реального мира вместо обратной системы, используемой для уравнений моей программы? Таким образом, график c переворачивается, но номер оси x по-прежнему начинается с нуля, я знаю gca().invert_xaxis()
, но это перевернет как изображение, так и ось, когда я только хочу один. Это не обязательно требуется, хотя.