Гистограмма matplotlib не появляется после нарезки массива - PullRequest
0 голосов
/ 13 июля 2020

Я попытался создать гистограмму некоторых 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
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...