做者 | Prasad Ostwalpython
译者 | 高级农民工程序员
咱们的大脑一般最多能感知三维空间,超过三维就很难想象了。尽管是三维,理解起来也很费劲,因此大多数状况下都使用二维平面。面试
来自维基百科编程
不过,咱们仍然能够绘制出多维空间,今天就来用 Python 的 plotly 库绘制下三维到六维的图,看看长什么样。设计模式
数据咱们使用一份来自 UCI 的真实汽车数据集,该数据集包括 205 个样本和 26 个特征,从中选择 6 个特征来绘制图形:app
基础工做
安装好 plotly 包:ui
加载数据集(文末会提供):spa
下面咱们先绘制基础的二维图表,使用两个 RPM 和 Speed 两个特征便可:设计
绘制 2-D 图
代码实现以下:3d
保存为 HTML 文件打开能够生成交互界面,也能够保存为 PNG 图片。
下面增长特征来绘制三维图。
绘制 3-D 图
可使用 plotly 的 plot.Scatter3D 方法绘制三维图:
代码实现以下:
如何绘制更高维度的图呢?显然没法经过扩展坐标轴的形式,不过有个小技巧就是制造一个虚拟维度,能够用不一样颜色、形状大小、形状类别来入手。这样就能够显示第四个维度了。
绘制 4-D 图
下面咱们将第四个变量——车辆油耗(city-mpg)添加到原先的三维图中,用颜色深浅表示,这样就绘制出了四维图。能够看到当其余三个指标(马力、车身重量、车价格)越高时:车辆油耗是越少的。
绘制 5-D 图
基于这样的思想,咱们还能够经过修改圆形大小再增长一个维度——发动机尺寸(engine-size)变成五维图:
咱们仍然能够比较容易地发现:车越贵,发动机尺寸越大这样的规律。
绘制 6-D 图
接着还能够经过更改形状的方式增长第六个维度——车门数,圆形表示四车门,方形表示两车门。一般两个车门的都是昂贵的豪华跑车,在图中也能够看出方形主要集中在价格比较高的区域。
这样咱们就从普通的二维图扩展到了高维图,固然还能够继续拓展,不过度辨起来会愈来愈困难。
源码:
连接:https://pan.baidu.com/s/1_Ij0qA8JduUHtbSqefCjuQ
提取码:avl8
原文:
https://medium.com/@prasadostwal/multi-dimension-plots-in-python-from-2d-to-6d-9a2bf7b8cc74
【END】
热 文 推 荐
你点的每一个“在看”,我都认真当成了喜欢