matplotlib画三维散点图?

  统计/机器学习 数据可视化 Python    浏览次数:7459        分享
1

比如我有x,y,z三个维度,怎么用matplotlib画一个三维的散点图?


 

吴昊通   2018-04-30 10:46



   2个回答 
6


# -*- coding: utf-8 -*-
from matplotlib import pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D

data = np.random.randint(0, 255, size=[40, 40, 40])
x, y, z = data[0], data[1], data[2]
ax = plt.subplot(111, projection='3d')  # 创建一个三维的绘图工程
#  将数据点分成三部分画,在颜色上有区分度
ax.scatter(x[:10], y[:10], z[:10], c='y')  # 绘制数据点
ax.scatter(x[10:20], y[10:20], z[10:20], c='r')
ax.scatter(x[30:40], y[30:40], z[30:40], c='g')
ax.set_zlabel('Z')  # 坐标轴
ax.set_ylabel('Y')
ax.set_xlabel('X')
plt.show()


SofaSofa数据科学社区DS面试题库 DS面经

瓶子   2018-05-02 12:38

谢谢! - 吴昊通   2018-05-11 13:38
2


import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

# 生成数据
data = np.random.randint(0,255,size=[40,40,40])
x,y,z= data[0],data[1],data[2]

# 创建三维对象
fig= plt.figure()
ax = Axes3D(fig)

# 绘制散点图
ax.scatter(x[:10],y[:10],z[:10],c='y')
ax.scatter(x[10:20],y[10:20],z[10:20],c='r')
ax.scatter(x[30:40],y[30:40],z[30:40],c='g')

# 显示图像
plt.show()


SofaSofa数据科学社区DS面试题库 DS面经

SamudraYe   2018-05-12 12:06



  相关讨论

plt.subplot怎么设置才能每行图的个数不一样?

seaborn如何显示图?

python画散点图

matplotlib.pyplot画图的标题中插入变量

怎么在matplotlib的图中加入箭头标志注释?

matplotlib怎么把图例放到图外面

plt.show()之后matplotlib图像依然不展示

python中怎么用matplotlib在一行里生成多个图?

python里怎么实现柱状图?

如何调节seaborn里字体大小?

  随便看看

决策树、随机森林中的多重共线性问题

协方差矩阵一定是半正定的吗?

如何度量一个分布长尾的程度?

怎么添加pandas的dataframe到已有的csv文件,并且不覆盖原内容

如何检验两个样本是同分布的?