y轴坐标错乱

今天遇到一个问题,y轴坐标值出现了乱序,如下图所示:

参考plt作图时出现横坐标或者纵坐标乱序的解决方法,发现是因为输入y轴数据类型不是np.int/np.float,在程序中查了一下,发现果真如此,数据类型为np.str

复现代码如下:

import numpy as np
import matplotlib.pyplot as plt


def draw(y):
    f = plt.figure()

    x = list(range(len(y)))
    plt.scatter(x, y)

    plt.show()


if __name__ == '__main__':
    a = np.arange(10).astype(np.str)
    np.random.shuffle(a)
    draw(a)