В настоящее время я использую Matplotlib для создания гистограммы:
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as pyplot
...
fig = pyplot.figure()
ax = fig.add_subplot(1,1,1,)
n, bins, patches = ax.hist(measurements, bins=50, range=(graph_minimum, graph_maximum), histtype='bar')
#ax.set_xticklabels([n], rotation='vertical')
for patch in patches:
patch.set_facecolor('r')
pyplot.title('Spam and Ham')
pyplot.xlabel('Time (in seconds)')
pyplot.ylabel('Bits of Ham')
pyplot.savefig(output_filename)
Я бы хотел сделать метки оси X немного более осмысленными.
Во-первых, тики по оси x здесь ограничены пятью тиками.Независимо от того, что я делаю, я не могу изменить это - даже если я добавлю больше xticklabels, он использует только первые пять.Я не уверен, как Matplotlib рассчитывает это, но я предполагаю, что он рассчитывается автоматически по диапазону / данным?
Есть ли какой-нибудь способ, которым я могу увеличить разрешение меток x-tick -даже до единицы для каждого бара / корзины?
(В идеале, я бы хотел, чтобы секунды были переформатированы в микросекунды / миллисекунды, но это вопрос для другого дня).
Во-вторых, я бы хотел каждый отдельный столбец с меткой - с фактическим номером в этом бункере, а также с процентом от общего количества всех бинов.
Финалвывод может выглядеть примерно так:
Возможно ли что-то подобное с Matplotlib?
Ура, Виктор