Я пытаюсь напечатать значения в массиве NumPy на гистограмме Matplotlib, но Matplotlib настаивает на том, чтобы печатать их в неправильном порядке.Я переупорядочил значения и имена категорий и сохранил их в пустых массивах, чтобы сохранить их порядок, но когда я передаю их функции plt.bar (), она настаивает на их печати в исходном порядке.
Я попытался распечатать значения values_arr и подтвердил, что они были в том порядке, в котором я их хотел, но это не тот порядок, в котором отображаются столбцы. Я попытался plt.clf()
и plt.cla()
получитьизбавиться от первоначальных значений, но безрезультатно.
values_arr
возвращает
array([ 0.09651863, -0.05389129, -0.04672919, 0.01236926, -0.00995986,-0.00729804, -0.00545791, 0.00503968, 0.00485096, 0.00381371,-0.00244895, 0.00206346, 0.00099744, -0.00090517, 0.00078678,0.00029441, -0.00026074, 0.00021683])
И category_arr
равно
[1, 8, 5, 11, 3, 4, 12, 15, 6, 18, 14, 2, 10, 13, 17, 9, 7, 16]
Но когда я передаю values_arr в функцию plt.bar (), я получаю:
plt.cla()
width = 0.40
plt.bar(category_arr, values_arr, width)
plt.xticks=category_arr
Но гистограмма выходит с категориями и барами в их оригинале, 1,2,3, ..., порядок.(Я вставил ссылку на картинку моего вывода) введите описание изображения здесь
Что не так?Почему меняется заказ?