我试图在Matplotlib条形图中以numpy数组形式打印值,但是Matplotlib坚持以错误的顺序打印它们。我已经重新排序了值和类别名称,并将它们存储在numpy数组中以保留其顺序,但是当我将它们提供给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,...顺序显示类别和条形。 (我在输出图片中嵌入了一个链接)enter image description here
怎么了?为什么顺序会更改?