六维图见过么?Python 画出来了!

系统 2058 0

640?wx_fmt=gif

六维图见过么?Python 画出来了!_第1张图片

作者 | Prasad Ostwal

译者 | 高级农民工

我们的大脑通常最多能感知三维空间,超过三维就很难想象了。尽管是三维,理解起来也很费劲,所以大多数情况下都使用二维平面。

六维图见过么?Python 画出来了!_第2张图片

来自维基百科

不过,我们仍然可以绘制出多维空间,今天就来用 Python 的 plotly 库绘制下三维到六维的图,看看长什么样。

数据我们使用一份来自 UCI 的真实汽车数据集,该数据集包括 205 个样本和 26 个特征,从中选择 6 个特征来绘制图形:

六维图见过么?Python 画出来了!_第3张图片

 

640?wx_fmt=png

基础工作

 

安装好 plotly 包:

             
          

加载数据集(文末会提供):

             
          

下面我们先绘制基础的二维图表,使用两个 RPM 和 Speed 两个特征即可:

 

640?wx_fmt=png

绘制 2-D 图

 

六维图见过么?Python 画出来了!_第4张图片

代码实现如下:

             
          

保存为 HTML 文件打开可以生成交互界面,也可以保存为 PNG 图片。

下面增加特征来绘制三维图。

 

640?wx_fmt=png

绘制 3-D 图

 

可以使用 plotly 的 plot.Scatter3D 方法绘制三维图:

六维图见过么?Python 画出来了!_第5张图片

代码实现如下:

             
          

如何绘制更高维度的图呢?显然无法通过扩展坐标轴的形式,不过有个小技巧就是制造一个虚拟维度,可以用不同颜色、形状大小、形状类别来入手。这样就可以显示第四个维度了。

 

640?wx_fmt=png

绘制 4-D 图

 

下面我们将第四个变量——车辆油耗(city-mpg)添加到原先的三维图中,用颜色深浅表示,这样就绘制出了四维图。可以看到当其他三个指标(马力、车身重量、车价格)越高时:车辆油耗是越少的。

六维图见过么?Python 画出来了!_第6张图片

 

640?wx_fmt=png

绘制 5-D 图

 

基于这样的思想,我们还可以通过修改圆形大小再增加一个维度——发动机尺寸(engine-size)变成五维图:

六维图见过么?Python 画出来了!_第7张图片

我们仍然可以比较容易地发现:车越贵,发动机尺寸越大这样的规律。

 

640?wx_fmt=png

绘制 6-D 图

 

接着还可以通过更改形状的方式增加第六个维度——车门数,圆形表示四车门,方形表示两车门。通常两个车门的都是昂贵的豪华跑车,在图中也可以看出方形主要集中在价格比较高的区域。

六维图见过么?Python 画出来了!_第8张图片

这样我们就从普通的二维图扩展到了高维图,当然还可以继续拓展,不过分辨起来会越来越困难。

源码:

链接:https://pan.baidu.com/s/1_Ij0qA8JduUHtbSqefCjuQ 

提取码:avl8

原文:

https://medium.com/@prasadostwal/multi-dimension-plots-in-python-from-2d-to-6d-9a2bf7b8cc74

【END】

 

四大项目,挑战Python全栈工程师?

https://edu.csdn.net/topic/python115?utm_source=csdn_bw

六维图见过么?Python 画出来了!_第9张图片

 热 文  推 荐 

5G 是否会淘汰掉 WiFi?

我是如何 2 个月拿到 4 份 Offer 并收入翻倍的?

如何一本正经地写出别人无法维护的代码?

我花了 10 年,从工厂妹逆袭为纽约高薪程序员

中本聪的一失之虑让比特币趋于中心化, 那这些问题的严重性, 你了解吗?

面试官问你MyBatis中有哪些设计模式,把这篇文章发给他

☞我发现一个新的软件,用自然语言编程!非常酷!

吴恩达Drive.ai因经营困难“卖身”苹果

☞马云曾经偶像,终于把阿里留下的1400亿败光了!

640?wx_fmt=png 你点的每个“在看”,我都认真当成了喜欢


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论