我对下面代码的输出感到非常困惑。情节看起来像这样
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))
相关分类