Python 散点图中的无序轴

Python 散点图中的无序轴,python,matplotlib,scatter,Python,Matplotlib,Scatter,我正在尝试使用散点图绘制群集。我有一个群集颜色数组和x和y数组,但当我打印它们时,x和y轴采用输入数组顺序 我已经检查了另一个类似的问题,但它似乎不是这里的问题。坦率地说,我不明白问题出在哪里 [码>数据方面的资料是在这方面的数据方面,这些数据是在[11”、“2”、“2”、“2”、“2”、“2”、“1”、“19”、“19”、“19”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1

我正在尝试使用散点图绘制群集。我有一个群集颜色数组和x和y数组,但当我打印它们时,x和y轴采用输入数组顺序

我已经检查了另一个类似的问题,但它似乎不是这里的问题。坦率地说,我不明白问题出在哪里

[码>数据方面的资料是在这方面的数据方面,这些数据是在[11”、“2”、“2”、“2”、“2”、“2”、“1”、“19”、“19”、“19”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“1”、“7”、“4”、“4”、“5”、“5”、“5”、“5”、“4”、“5”、“5”、“4”、“5”、“5”、“5”、“7”、“5”、“5”、“5”、“5”、“2”、“5”、“2”、“2”、“2”、“5”、“2”、“2”、“5”、“5”、“5”、“5”、“2”、“5”、“2”、“2”、“5”、“5”、“5”、“5”、“5”、“5”、“5”、“5”、“5”、“5”、“2”、“2”、“2”、“5”、“2”、“2”、“2”、“2”、“5”、“5”、“5”、“2”、“2”、“5”、“2”、“2”、“2”、“5”、“2”、“5”、“2”、“2[9'、[7']、[15'、[12']、[14'、[10'], ['1', '13'], ['19', '13'], ['12', '15'], ['16', '2'], ['18', '14'], ['9', '8'], ['13', '7'], ['14', '13'], ['6', '8'], ['16', '2'], ['19', '18'], ['8', '10'], ['6', '17'], ['4', '8'], ['14', '10'], ['15', '19'], ['7', '6'], ['4', '14'], ['7', '19'], ['10', '18'], ['20', '3'], ['5', '15'], ['8', '11'], ['18', '13'], ['8', '9'], ['20', '5'], ['10', '12'], ['17', '18'], ['6', '12'], ['5', '8'], ['17', '13'], ['10', '7'], ['16', '14'], ['4', '16'], ['12', '2'], ['14', '11'], ['16', '3'], ['11', '17'], ['14', '19'], ['14', '13'], ['17', '18'], ['10', '20'], ['15', '4'], ['10', '13'], ['8', '6'], ['2', '14'], ['18', '5'], ['10', '8'], ['4', '19'], ['12', '15'], ['10', '15'], ['7', '18'], ['8', '20'], ['11', '18'], ['13', '15'], ['10', '19'], ['6', '2'], ['14', '20'], ['6', '12'], ['3', '14'], ['7', '2'], ['19', '9'], ['18', '11'], ['9', '3'], ['13', '6'], ['11', '1'], ['10', '11'], ['16', '2'], ['16', '7'], ['9', '12'], ['1', '17'], ['5', '11'], ['11', '10'], ['4', '15']] 集群=[1,0,0,2,0,3,4,2,0,5,5,3,6,7,8,1,6,3,9,7,6,10,3,8,9,9,6,11,12,2, 11, 8, 4, 9, 3, 2, 0, 3, 5, 3, 9, 7, 8, 5, 5, 10, 0, 5, 3, 11, 3, 2, 3, 7, 3, 3, 9, 8, 9, 5, 1, 9, 2, 7, 7, 9, 7, 10, 2, 12, 8, 6, 2, 8, 5, 12, 12, 5, 10, 7, 12, 10, 0, 7, 3, 6, 1, 0, 11, 1, 4, 1, 3, 2, 4, 3, 0, 3, 8, 5] x、 y=zip(*数据) plt.散射(np.阵列(x),np.阵列(y),c=簇) plt.show() 我想轴心国应该保持秩序,但事实并非如此


只需对轴阵列进行排序

sorted(list_var)


即使是numpy数组也有一个
sort()
方法

只需对轴数组进行排序即可

sorted(list_var)


即使numpy数组也有一个
sort()
方法,正如@Guybrush所说,数据中的元素都是字符串,因此可以尝试以下方法:

data = [[int(i[0]), int(i[1])] for i in data]
然后是所有其他代码,现在将按照排序顺序显示轴:

x,y = zip(*(data))
clusters = [1, 0, 0, 2, 0, 3, 4, 2, 0, 5, 5, 3, 6, 7, 8, 1, 6, 3, 9, 7, 6, 10, 3, 8, 9, 9, 6, 11, 12, 2,
11, 8, 4, 9, 3, 2, 0, 3, 5, 3, 9, 7, 8, 5, 5, 10, 0, 5, 3, 11, 3, 2, 3, 7, 3, 3, 9, 8, 9, 5, 1, 9, 2, 7, 7, 9, 7, 10, 2, 12, 8, 6, 2, 8, 5, 12, 12, 5, 10, 7, 12, 10, 0, 7, 3, 6, 1, 0, 11,
1, 4, 1, 3, 2, 4, 3, 0, 3, 8, 5]
plt.scatter(np.array(x), np.array(y), c = clusters)
plt.show()

希望这能有所帮助。

正如@Guybrush所说,数据中的元素是字符串,因此您可以尝试以下方法:

data = [[int(i[0]), int(i[1])] for i in data]
然后是所有其他代码,现在将按照排序顺序显示轴:

x,y = zip(*(data))
clusters = [1, 0, 0, 2, 0, 3, 4, 2, 0, 5, 5, 3, 6, 7, 8, 1, 6, 3, 9, 7, 6, 10, 3, 8, 9, 9, 6, 11, 12, 2,
11, 8, 4, 9, 3, 2, 0, 3, 5, 3, 9, 7, 8, 5, 5, 10, 0, 5, 3, 11, 3, 2, 3, 7, 3, 3, 9, 8, 9, 5, 1, 9, 2, 7, 7, 9, 7, 10, 2, 12, 8, 6, 2, 8, 5, 12, 12, 5, 10, 7, 12, 10, 0, 7, 3, 6, 1, 0, 11,
1, 4, 1, 3, 2, 4, 3, 0, 3, 8, 5]
plt.scatter(np.array(x), np.array(y), c = clusters)
plt.show()

希望这有帮助。

你的
数据
包含字符串,这就是为什么matplotlib使用它们的顺序和标签,而不是它们的值!谢谢!我不知道。这就解决了问题。请看你的
数据
包含字符串,这就是为什么matplotlib使用它们的顺序和标签,而不是它们的值!谢谢!我不知道。这就解决了问题