python动态显示散点图_如何在完成PCA后在Python中显示散点图?

这就是你要的吗?在import numpy as np

from matplotlib import pyplot as plt

data1 = [np.random.normal(0,0.1, 10), np.random.normal(0,0.1,10)]

data2 = [np.random.normal(1,0.2, 10), np.random.normal(2,0.3,10)]

data3 = [np.random.normal(-2,0.1, 10), np.random.normal(1,0.5,10)]

plt.scatter(data1[0],data1[1])

plt.scatter(data2[0],data2[1])

plt.scatter(data3[0],data3[1])

plt.show()

三个不同数据集的结果如下:

编辑:

希望我现在能更好地理解你的问题。新代码如下:

^{pr2}$

我分别用id 0, 1, and 2为作业命名'A', 'B', and 'C'。从emp的最后一行,我创建了一个numpy数组来保存这些索引。在关键的绘图命令中,我使用作业ID屏蔽数据。希望这有帮助。在

结果图如下:

编辑2:

如果您只想在一个图中相互关联,例如,X_pca的第一列和第二列,则代码将变得更简单:import numpy as np

from matplotlib import pyplot as plt

with open(r'mydata.txt') as f:

emp= []

for line in f:

line = line.split()

if line:

line = [int(i) for i in line]

emp.append(line)

from sklearn.decomposition import PCA

import pylab as pl

from itertools import cycle

X = emp

pca = PCA(n_components=3, whiten=True).fit(X)

X_pca = pca.transform(X) #regular PCA

jobs = ['A', 'B', 'C']

job_id = np.array([e[4] for e in emp])

row = 0

col = 1

plt.scatter(X_pca[:,row][job_id==0],X_pca[:,col][job_id==0],c='r')

plt.scatter(X_pca[:,row][job_id==1],X_pca[:,col][job_id==1],c='g')

plt.scatter(X_pca[:,row][job_id==2],X_pca[:,col][job_id==2],c='b')

plt.show()

结果如下:

我强烈建议您阅读这些示例中使用的函数的文档。在

你可能感兴趣的:(python动态显示散点图)