В настоящее время у меня есть код ниже:
Я также импортировал библиотеки numpy и matplotlib.
def colorTheCluster(data,centroidCoordinates):
index = AssignPointsToCluster(data,centroidCoordinates) #index contains an 1d array of size 1000 of values [0 1 2 1 3 0....]
indexList = list(index) # i wanted to make it into a list so i can use a for loop
colorMap = {0:'r', 1 : 'b', 2:"y", 3: 'p', 4 :'g'}
for num in indexList: #[0,1,1,2,3,0,0...]
for keys in colorMap.keys(): #{1, 2, 0 , 4}
if keys == num:
plt.scatter(data[:,0], data[:,1], marker = '+', c = colorMap[0])
elif keys == num:
plt.scatter(data[:,0], data[:,1], marker = '+', c = colorMap[1])
elif keys == num:
plt.scatter(data[:,0], data[:,1], marker = '+', c = colorMap[2])
elif keys == num:
plt.scatter(data[:,0], data[:,1], marker = '+', c = colorMap[3])
elif keys == num:
plt.scatter(data[:,0], data[:,1], marker = '+', c = colorMap[4])
return plt.show()
print(colorTheCluster(data(), centroidCoordinates()))
data()
- это функция, которая содержит массив 1000 x 2
centroidCoordinates()
- это массив m x2 (в данном случае я использовал m = 4)
Я хочу, чтобы каждая точка в кластере, которой присвоен индекс, соответственно изменила цвет, но, похоже, неработа.