gpt4 book ai didi

python - Matplotlib 散点图 - ValueError : RGBA sequence should have length 3 or 4

转载 作者:太空宇宙 更新时间:2023-11-03 14:06:33 25 4
gpt4 key购买 nike

我正在尝试为我的特征绘制图表,但我不断收到此错误:

ValueError: RGBA sequence should have length 3 or 4

当我只有 6 种形状时,代码可以完美运行,但现在我已将其增加到 10 种,它就无法运行了吗?

如果我用 c = np.random.random((100, 4)) 而不是 c=yc=c它有效,但每个数据点都有不同的颜色。

我的代码是:

features = ["Number of Sides", "Standard Deviation of Number of Sides/Perimeter",
"Standard Deviation of the Angles", "Largest Angle"]

features1 = ["Label"]

def Build_Data_Set():

data_df = pd.DataFrame.from_csv("AllMixedShapes2.csv")

#This line randomly shuffles the data so that the different types of training data get
#mixed up randomly to prevent the data being skewed
data_df = data_df.reindex(np.random.permutation(data_df.index))
X = np.array(data_df[features].values)

data_df2 = pd.DataFrame.from_csv("AllMixedShapes2.csv")
y = np.array(data_df2[features1].replace("Circle",0).replace("Equilateral Triangle",1)
.replace("Right Angle Triangle",2).replace("Acute Triangle",3)
.replace("Obtuse Triangle",4).replace("Square",5)
.replace("Parallelogram",6).replace("Rectangle",7)
.replace("Pentagon",8).replace("Seal",9).values.tolist())
return X,y

def SVC_Analysis():

test_size = 300
X,y = Build_Data_Set()

clf = svm.SVC(kernel = 'rbf', C = 1.0)
clf.fit(X[:test_size],y[:test_size])

correct_count = 0

for x in range(1, test_size+1):
if clf.predict(X[-x])[0] == y[-x]:
correct_count += 1

print("Accuracy:", (correct_count/test_size) * 100.00)


data_df = pd.DataFrame.from_csv("AllMixedShapes2.csv")
X1 = np.array(data_df[features2].values)
y1 = np.array(data_df[features3].values)
#w = clf.coef_[0]
#a = -w[0] / w[1]
xx = np.linspace(0,5)
yy = np.linspace(0,185)

h0 = plt.plot(xx,yy, "k-", label="non weighted")

plt.scatter(X1[:, 0],y1, c=y, cmap=plt.cm.Paired)
plt.ylabel("Maximum Angle (Degrees)")
plt.xlabel("Number Of Sides")
plt.title('Shapes')
plt.legend()
plt.show()

SVC_Analysis()

My csv file for reference looks like

据我所知,问题与 c=y, cmap=plt.cm.Paired) 有关,但我不能确定,也找不到解决方案。

最佳答案

我也遇到了这个错误。在我的例子中,问题是我在 plot 时想要 scatter。改变

plt.plot(x1, x2, c=target)

plt.scatter(x1, x2, c=target)

修复它。

关于python - Matplotlib 散点图 - ValueError : RGBA sequence should have length 3 or 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43099279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com