Как построить график полулогкса, в котором ось х записана в противоположном направлении? - PullRequest
0 голосов
/ 12 марта 2020

Я работаю с ситуацией, когда более ранняя информация более интересна, поэтому я хочу иметь более плотные значения оси 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()

Не зарегистрированные данные, как вы можете видеть, становятся ближе к концу. enter image description here

Использование semilogx завершается неудачно, так как оно вошло «в неправильном направлении»: enter image description here

В качестве дальнейшего шага это может привести к быть полезным, чтобы перевернуть его обратно в числа реального мира вместо обратной системы, используемой для уравнений моей программы? Таким образом, график c переворачивается, но номер оси x по-прежнему начинается с нуля, я знаю gca().invert_xaxis(), но это перевернет как изображение, так и ось, когда я только хочу один. Это не обязательно требуется, хотя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...