Как включить отрицательные числа в xticks, используя matplotlib.pyplot? - PullRequest
0 голосов
/ 11 ноября 2019

У меня есть DataFrame, который выглядит примерно так:

df = [4, -1, 5, -32, 4, -32, -1]

Я хочу установить xticks так:

tick_locs = [-30, -10, 0, 10, 30, 100, 300, 1000, 3000]
plt.xticks(tick_locs, tick_locs)

Это дает мне странный график: enter image description here

Я могу установить тики на все положительные, но это не даст мне отрицательных чисел на оси X:

tick_locs = [10, 30, 100, 300, 1000, 3000]
plt.xticks(tick_locs, tick_locs)

enter image description here

Есть идеи, как получить отрицательные отметки?

PS Данные настроены как зарегистрированные, но ось X настроена на отображение фактических чисел:

bin_edges = 10 ** np.arange(-0.1, np.log10(planes_df['ArrDelay'].max())+0.1, 0.1)
plt.hist(planes_df['ArrDelay'], bins = bin_edges)
plt.xscale('log')
tick_locs = [10, 30, 100, 300, 1000, 3000]
plt.xticks(tick_locs, tick_locs)

1 Ответ

0 голосов
/ 11 ноября 2019

Попробуйте удалить строку plt.xscale('log'). Это сделает шкалу оси X линейной. Логарифмическая ось не может отображать неположительные значения, так как log(x) не определено для x <= 0.

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