Я попытался создать гистограмму некоторых numpy значений с плавающей запятой (считанных как строка и преобразованных в numpy .float64), и она работала отлично, пока я не нарезал массивы (две строки с #). Каждый массив содержал 255 значений, а после нарезки оба массива содержали 128 значений, как и ожидалось. Они все того же размера и типа, и код работает отлично. Если я изменю plt.bar (...) на plt.plot (...), график появится снова, даже после нарезки массивов, только plt.bar отображает пустую фигуру.
Что может быть проблема здесь? Для меня это не имеет смысла
#Pulse amplitude histogram
bin_pulse_amplitude_indices = np.linspace(0.0, 255.0, num=256)
pulse_amplitude_histogram_x_axis = (bin_pulse_amplitude_indices - 127) * V_max/127 - V_offset
pulse_amplitude_histogram_y_axis = np.array(string_data[11:267], dtype=float)
#pulse_amplitude_histogram_x_axis = pulse_amplitude_histogram_x_axis[pulse_amplitude_histogram_x_axis >= 0]
#pulse_amplitude_histogram_y_axis = pulse_amplitude_histogram_y_axis[:len(pulse_amplitude_histogram_x_axis)]
plt.bar(pulse_amplitude_histogram_x_axis, pulse_amplitude_histogram_y_axis)
plt.title('Pulse Amplitude Histogram')
plt.xlabel('Amplitude [mV]')
plt.ylabel('Counts [A]')
plt.show()
Гистограмма работает должным образом
На диаграмме отображаются следующие значения:
# pulse_amplitude_histogram_x_axis pulse_amplitude_histogram_y_axis
57 -5.511811e+02 0.000000e+00
58 -5.433071e+02 0.000000e+00
59 -5.354331e+02 0.000000e+00
60 -5.275591e+02 1.000000e+00
61 -5.196850e+02 1.090000e+02
62 -5.118110e+02 1.300000e+02
63 -5.039370e+02 1.000000e+00
64 -4.960630e+02 0.000000e+00
65 -4.881890e+02 0.000000e+00
...
Столбиковая диаграмма не отображается после удаления hasttags
Это значения после нарезки, которые отображаются в plt.plot, но не в plt.bar:
...
57 4.488189e+02 0.000000e+00
58 4.566929e+02 0.000000e+00
59 4.645669e+02 0.000000e+00
60 4.724409e+02 0.000000e+00
61 4.803150e+02 1.630000e+02
62 4.881890e+02 7.500000e+01
63 4.960630e+02 0.000000e+00
64 5.039370e+02 0.000000e+00
65 5.118110e+02 0.000000e+00
...