关注后你就是我的人了

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

来自维基百科

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

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

基础工作

安装好 plotly 包:

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

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

绘制 2-D 图

代码实现如下:

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

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

绘制 3-D 图

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

代码实现如下:

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

绘制 4-D 图

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

绘制 5-D 图

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

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

绘制 6-D 图

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

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

以上就是小编为大家分享的所有内容,有想了解更多资讯或相关知识,可以关注公众号;程序员大咖(CodePush)

技术文章原创,最新视频分享等等,一大批干货正在路上,想看的朋友记得点关注哦!

python画4维图_用Python 画个六维图,涨姿势了相关推荐

  1. python绘制二维图形_使用python绘制二维图形示例

    我就废话不多说了,直接上代码吧! import matplotlib.pyplot as plt #也可以使用 import pylab as pl import matplotlib.font_ma ...

  2. python制作二维码_利用Python制作二维码

    利用简单的Python代码制作二维码 友情链接:饿了么外卖大红包限时领取 一.制作工具 安装Python环境 + PyCharm编译器. 二.电脑系统 本人win10 + Python3.7.0 + ...

  3. 用python制作二维码_用python做一个可视化生成二维码的工具

    用python做一个可视化生成二维码的工具 环境 pip install gooey pip install MyQR 源代码 from gooey import GooeyParser,Gooey ...

  4. python生成二维码_用python生成二维码

    python中有一个好玩的库,不仅可以生成各种花色的二维码,还可以生成动态二维码. MyQR是一个能够生成自定义二维码的第三方库,可以根据需要生成普通二维码.带图片的艺术二维码,也可以生成动态二维码 ...

  5. 用python制作二维码_使用python制作二维码

    python-qrcode是个用来生成二维码图片的第三方模块,主要依赖的是 PIL 模块和 qrcode 库.(PIL模块只支持python2.7及以下版本,python3之后无法使用,官方推荐pyt ...

  6. python生成二维码_使用python生成二维码

    1.python-qrcode是个用来生成二维码图片的第三方模块,依赖于 PIL 模块和 qrcode 库. 首先,我们要安装三个模块,qrcode,image,PIL. pip install qr ...

  7. python定义二维数组_在python中定义二维数组

    原博文 2016-08-30 19:16 − 发表于 http://liamchzh.0fees.net/?p=234&i=1 一次偶然的机会,发现python中list非常有意思. 先看一段 ...

  8. python遍历二维数组_在Python中遍历二维数组?

    你需要告诉我们一些事情:dataset = datas.values 它可能是一个二维数组,因为它来自一个csv负载.但是什么形状和数据类型?甚至可能是阵列的一个样本. 这是函数中的data参数吗? ...

  9. python 绘制二维曲面_用python绘制曲面[复制]

    我试图绘制一些数据,其中包括4个变量.我用了两种方法,一种是散点图,另一种是曲面图.问题是当我使用surface时,数据丢失了.我想这和颜色设置有关. 对于散点图,我使用: def scatter3d ...

  10. python制作二维码_基于Python生成个性二维码过程详解

    一.问题描述 通过调用MyQR模块来实现生成个人所需二维码. 安装: pip install myqr 二.代码实现 1.普通二维码 from MyQR import myqr # 普通二维码 myq ...

最新文章

  1. javascript中for循环和setTimeout同时使用,出现的问题
  2. Windows 7 RC Build 7100 使用报告
  3. mysql ignore index,mysql强制索引FORCE INDEX/IGNORE INDEX忽略索引
  4. winform技巧一,errorprovider,任务栏可见,总在最前
  5. 什么是软件开发中的 green field 和 brown field 模式 - 绿地开发和棕地开发
  6. 变频器输出功率_工业电气设计|变频器的输出功率该如何选择?
  7. linux下shell编程课程设计,Linux下shell编程实例
  8. 什么叫组网_家庭wifi,如何组网最合适
  9. c#异常处理_C#异常处理能力问题和解答 套装2
  10. java.lang.applet_Java Applet RuntimeException:java.lang.NoClassDefFoun...
  11. SQL结构化查询语言基础知识 转
  12. Hibernate学习笔记_核心幵发接口及三种对象状态
  13. 语音云识别工具_语音识别工具_web语音识别应用程序的工具 - 云+社区 - 腾讯云...
  14. jQuery ajax get与post后台交互中的奥秘
  15. 解决本地工具无法连接服务器上的mysql的问题
  16. 浅谈最短路径的几个方法(Dijkstra,Bellman-Ford,SPFA,Floyd算法)
  17. checkbox选中并记住状态(分页)
  18. Python_日记 序列化和反序列化
  19. discuz源代码分析
  20. layui后台管理系统 - 权限树表格

热门文章

  1. 如何在 ASP.NET Core 中使用 HttpClientFactory ?
  2. 【视频回放与课件】搭上AI快车-在线公益课堂:基于移动应用的人工智能开发...
  3. 开发大会上,前微软CEO放出的狠话!.NET开发随时起飞,你准备好了吗?
  4. 编译调试 .NET Core 5.0 Preview 并分析 Span 的实现原理
  5. 阿里如何应对亿级高并发大流量?如何保障高可用和稳定性!
  6. xms跨平台基础框架 - 基于.netcore
  7. .NetCore技术研究-ConfigurationManager在单元测试下的坑
  8. 使用VS Code 开发.NET CORE 程序指南
  9. 「数据分析」Sqlserver中的窗口函数的精彩应用之数据差距与数据岛(含答案)...
  10. IdentityServer4实战 - 谈谈 JWT Token 的安全策略