我正在做PCA,需要绘制350点。我已经成功地将它们绘制在3D图上。我想给它们上色以告诉我3D图上的哪一点。可以给每个颜色上色吗?也许颜色指向1到50种不同的绿色阴影,然后是51到100种不同的红色阴影,等等?而且颜色的阴影越浅,数字越小?
答案 0 :(得分:0)
您提到您一直在尝试使用matplotlib
和ax.scatter
进行此操作。我想以您的示例为例,您需要的所有功能已经内置在ax.scater
中,并带有c
输入参数。例如,以下满足您的要求吗?
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
# Some dummy data
xval = np.random.randn(350)
yval = np.random.randn(350)
zval = np.exp( - (xval**2 + yval**2)/0.5)
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
cax = ax.scatter(xval, yval, zval, cmap=plt.cm.viridis, c=zval)
fig.colorbar(cax)