Matplotlib 3D散点图设置RGB颜色后仅显示单个点问题求助
问题原因
ax.scatter()的前三个入参分别是所有散点的X坐标集合、所有散点的Y坐标集合、所有散点的Z坐标集合,你直接将a、b、c三个单点点位列表作为X、Y、Z参数传入,最终生成的三个点位坐标均为(0,127,255),完全重合后就只会显示1个散点。
解决方法
调整scatter的坐标入参,将三个点对应轴的坐标分别组合传入即可,有两种常用写法:
- 直接拆分点位取值
ax.scatter([a[0], b[0], c[0]], [a[1], b[1], c[1]], [a[2], b[2], c[2]], marker='o', s=100, facecolors=colors)
- 先合并点位数组再拆分维度
points = np.array([a, b, c]) ax.scatter(points[:, 0], points[:, 1], points[:, 2], marker='o', s=100, facecolors=colors)
修改后运行代码,即可正常显示黑、灰、白三个预期点位。
内容的提问来源于stack exchange,提问作者user3607022
相关产品推荐
相关产品推荐

