示例1

示例2

在这两张图片上,我们可以清楚地区分两个不同的云。
以下是生成这两个图像的代码部分:
fig = plt.figure(figsize = (8,8))
ax = fig.add_subplot(1, 1, 1, projection='3d')
#ax.set_xlabel('PC 1', fontsize = 15)
#ax.set_ylabel('PC 2', fontsize = 15)
ax.set_xlim3d([-10, 10])
ax.set_ylim3d([-10, 10])
ax.set_zlim3d([-10, 10])
ax.set_title('2 Component PCA', fontsize = 20)
targets = [1, 0]
colors = ['r', 'g']
for target, color in zip(targets,colors):
indicesToKeep = finalDf['Label_Capture_Spread'] == target
ax.scatter(finalDf.loc[indicesToKeep, 'PC 1'],
finalDf.loc[indicesToKeep, 'PC 2'],
finalDf.loc[indicesToKeep, 'PC 3'],
c = color,
s = 20)
ax.legend(targets)
ax.grid()在这两张图像上,两个云之间没有空间。有没有办法将这两个云彼此分开?我们可以把这些点放在一个气泡里,以清楚地区分每一朵云吗?
发布于 2018-07-17 00:34:42
我相信,尝试从这些点中找出凸包,并将形状与点(或不带点)一起绘制出来会有所帮助。您可以在问题Plotting a set of given points to form a closed curve in matplotlib中找到2d解决方案的草图。
https://stackoverflow.com/questions/51366241
复制相似问题