Я создал рисунок, который показывает набор данных и гистограмму. Что меня беспокоит, так это то, что, как показано ниже, ось X на гистограмме имеет шаг 20, поэтому последнее значение равно 140 вместо 150, и это очень плохо запускает мое обсессивно-компульсивное расстройство. Может ли кто-нибудь помочь мне исправить это?
Сгенерированный png-файл:
https://i.stack.imgur.com/NhBYM.png
И соответствующая часть кода:
import numpy as np
import matplotlib.pyplot as plt
data = np.random.normal(60, 13, 500)
plt.hist(data, orientation = 'horizontal')
plt.grid()
plt.axis([0, 150, 0, 120])
plt.savefig('HISTOGRAM.png')
Спасибо!






Лекарство от вашего ОКР
import numpy as np
import matplotlib.pyplot as plt
data = np.random.normal(60, 13, 500)
plt.hist(data, orientation = 'horizontal')
plt.grid()
plt.xticks(np.linspace(0,150,16))
plt.axis([0, 150, 0, 120])
plt.savefig('HISTOGRAM.png')
в основном plt.xticks и plt.yticks принимают списки в качестве входных данных и используют их в качестве маркеров на оси x и оси y соответственно, np.linspace генерирует массив с началом, остановкой и количеством точек.
Счастливого кодирования
Если я правильно понял: с помощью linspace я могу указать количество тиков, а с помощью arange я могу указать расстояние между тиками. В данном случае второй способ был бы для меня более выгоден. И теперь я могу идти спать спокойно. Спасибо вам обоим!!!
@benjibenjibenji да, это совершенно правильно, и да, я также думаю, что arange было бы лучше для вас в этом случае.
То, что вы ищете, это plt.xticks():
import numpy as np
import matplotlib.pyplot as plt
data = np.random.normal(60, 13, 500)
plt.hist(data, orientation = 'horizontal')
plt.grid()
plt.axis([0, 150, 0, 120])
plt.xticks(np.arange(0,151,25))
plt.savefig('HISTOGRAM.png')
Там же можно указать, где ставить галочки. То же самое для оси Y.
Кстати, я искал в Интернете ответы, но не нашел ничего полезного. Может быть, я использовал неправильные ключевые слова... в любом случае, я надеюсь, что кто-то может мне помочь!