猿问

matplot lib轴混淆将字符串映射到轴

我对下面代码的输出感到非常困惑。情节看起来像这样

for i in range(0,300):

    test = random.random()

    if test < .10:

        plot_data.append(('filler','Octagon',random.random()))

    elif test >= .10 and test <= .40:

        plot_data.append(('filler','Rectangle',random.random()))

    elif test > .40 and test <= .70:

        plot_data.append(('filler','Circle',random.random()))

    elif test > .70 and test <= 1:

        plot_data.append(('filler','Hexagon',random.random()))


fig = plt.figure()

N=100

ax = fig.add_subplot(1, 1, 1)




x = [data_point[1] for data_point in plot_data]

x_vals = ["Rectangle","Hexagon","Octagon","Circle"]

y =[data_point[2] for data_point in plot_data]


print(x)

ax.scatter(x, y, color = rgb)


plt.xticks(range(len(x_vals)),x_vals)

plt.xlabel("Polygon")

plt.ylabel("RGB Color Value")


plt.show()

代码中间的print语句显示了我假设在x轴上的值,这是这个


['Hexagon', 'Rectangle', 'Circle', 'Hexagon', 'Rectangle', 'Circle', 'Hexagon', 'Rectangle', 'Circle', 'Rectangle', 'Circle', 'Rectangle', 'Circle', 'Octagon', 'Rectangle', 'Circle', 'Octagon', 'Rectangle', 'Circle', 'Hexagon', 'Rectangle', 'Circle', 'Hexagon', 'Rectangle', 'Circle', 'Hexagon', 'Rectangle', 'Circle', 'Rectangle', 'Circle', 'Rectangle', 'Circle', 'Octagon', 'Rectangle', 'Circle', 'Octagon', 'Rectangle', 'Circle', 'Hexagon', 'Rectangle', 'Circle', 'Hexagon', 'Rectangle', 'Circle', 'Hexagon', 'Rectangle', 'Circle', 'Rectangle', 'Circle', 'Rectangle', 'Circle', 'Octagon', 'Rectangle', 'Circle', 'Octagon', 'Rectangle', 'Circle', 'Hexagon', 'Rectangle', 'Circle', 

我显示输出的原因仅仅是为了表明无论出于何种原因,Circle和Octagon似乎都混杂在一起。八角形标签应少于圆形标签。我不知道为什么该地块被贴错标签,并且在网上找不到任何相关信息。我需要x轴保持此形状顺序。有什么想法我做错了吗?


供参考,plot_data是一个看起来像的元组


(array_of_unimportance, string shape_classifier(i.e. "Rectangle"), float rgb_val range(0,1.0))


慕村9548890
浏览 134回答 2
2回答
随时随地看视频慕课网APP

相关分类

Python
我要回答