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

来自维基百科

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

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

基础工作

安装好 plotly 包:

pip install plotly

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

import pandas as pd
data = pd.read_csv("cars.csv")

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

绘制 2-D 图

代码实现如下:

import plotly
import plotly.graph_objs as go#绘制散点图
fig1 = go.Scatter(x=data['curb-weight'],y=data['price'],mode='markers')#绘制布局
mylayout = go.Layout(xaxis=dict(title="curb-weight"),yaxis=dict( title="price"))#绘图 html
plotly.offline.plot({"data": [fig1],"layout": mylayout},auto_open=True)

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

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

绘制 3-D 图

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

代码实现如下:

fig1 = go.Scatter3d(x=data['curb-weight'],y=data['horsepower'],z=data['price'],marker=dict(opacity=0.9,reversescale=True,colorscale='Blues',size=5),line=dict (width=0.02),mode='markers')mylayout = go.Layout(scene=dict(xaxis=dict( title="curb-weight"),yaxis=dict( title="horsepower"),zaxis=dict(title="price")),)plotly.offline.plot({"data": [fig1],"layout": mylayout},auto_open=True,filename=("3DPlot.html"))

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

绘制 4-D 图

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

绘制 5-D 图

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

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

如果你依然在编程的世界里迷茫,可以加入我们的Python学习扣qun:784758214,看看前辈们是如何学习的。交流经验。从基础的python脚本到web开发、爬虫、django、数据挖掘等,零基础到项目实战的资料都有整理。送给每一位python的小伙伴!分享一些学习的方法和需要注意的小细节,点击加入我们的 python学习者聚集地

绘制 6-D 图

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

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

Python画出来的六维图,见过么?相关推荐

  1. python绘制3维图-1、2、3维图见过,用Python画出来的六维图见过么?

    我们的大脑通常最多能感知三维空间,超过三维就很难想象了.尽管是三维,理解起来也很费劲,所以大多数情况下都使用二维平面. 来自维基百科 不过,我们仍然可以绘制出多维空间,今天就来用 Python 的 p ...

  2. python画轨迹曲线-python 画3维轨迹图并进行比较的实例

    一. 数据的格式 首先我们需要x,y,z三个数据进行画图.从本实验用到的数据集KITTI 00.txt中举例: 1.000000e+00 9.043680e-12 2.326809e-11 5.551 ...

  3. python绘制三维散点图-python 画三维图像 曲面图和散点图的示例

    用python画图很多是根据z=f(x,y)来画图的,本博文将三个对应的坐标点输入画图: 散点图: import matplotlib.pyplot as plt from mpl_toolkits. ...

  4. 使用python画k均值分类图

    欢迎关注公众号:老白和他的爬虫 昨天帮小余同学用python画了下k均值分类图,原理比较简单在这里分享一下. 首先小余同学已经用spss做好了族群分类,分类结果如图所示 一共有100条结果,这里只截取 ...

  5. python slice函数画高维图_六维图见过么?Python 画出来了

    我们的大脑通常最多能感知三维空间,超过三维就很难想象了.尽管是三维,理解起来也很费劲,所以大多数情况下都使用二维平面. 来自维基百科 Python资源共享群:484031800 不过,我们仍然可以绘制 ...

  6. python画出K线图及技术指标

    目录 安装mplfinance及Ta-lib 画图 安装mplfinance及Ta-lib mplfinance是基于matplotlib的金融数据可视化分析模块,前身是mpl_finance,比起m ...

  7. python画聚类树状图_影像组学学习笔记(36)-聚类树状图Dendrogram的python实现

    本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(36)主要介绍: 聚类树状图Dendrogram的python实现 应该注意一下scipy版本的问题:scipy 1.5.0版本画聚类树 ...

  8. python画带权重的图

    最近与几个少年在用C++学习数据结构与算法,讲到图时,总觉得要展示出直观内容才比较好,找到python就可以方便地展示图.(前一阵子还可以找到C++用字符展示树的代码,图要用字符展示,我想还是算了吧) ...

  9. 如何使用python画折线图-Python数据可视化:使用Python画柱状图和折线图

    Python爬虫太火了,没写过爬虫,都不敢说自己学过Python?! 可是刚一开始学我就遇到了难题----数据分析!听起来很高大上,有没有? 想要做爬虫,就得先学会使用数据分析工具,制作图表这是最基本 ...

最新文章

  1. 微软2014校园招聘笔试试题
  2. 几率大的REDIS面试题
  3. 大年初一,今年的春晚你看了吗?
  4. 加密和解密.net配置节
  5. IntelliJ IDEA配置maven,并创建一个实例作为演示
  6. java导出oracle到excel_java实现将oracle表中的数据导出到excel表里
  7. 将有序数组转为二叉搜索树
  8. 国产自主研发编程语言火了,同行十二年,不知Python是木兰?
  9. Atom飞行手册翻译: 2.12 在Atom中写作
  10. 删除分卷php逻辑,Linux LVM(逻辑卷管理)删除详解
  11. Vue+MDUI+Muse-UI的使用与安装
  12. 如何利用Python开发一款快手加抖音自动刷视频脚本!
  13. 11 Component Composition
  14. 买“背包“吗?送“手臂”的那种!卡耐基梅隆大学可穿戴机械臂问世
  15. python合并音频Couldn‘t find ffprobe or avprobe解决办法
  16. 91文件夹操作——创建和删除多级目录
  17. 前端的Docker入门实战
  18. 模拟器录制视频 小技巧
  19. Verilog HDL——循环语句
  20. LED背光源商家需满足的基本条件

热门文章

  1. AD将元器件由正面,放置到反面/元器件由反面放到正面
  2. 找出计算机系女同学的名单,计算机系女生节策划书
  3. 21:最大质因子序列
  4. CNN FPGA加速器实现(小型)CNN FPGA加速器实现(小型)
  5. RSA PKCS1(google play receipt 验证)
  6. CTFshow月饼杯crypto部分wp
  7. mysql索引的数据结构为什么用B+树,知其所以然
  8. 佳博Gainscha GP-L80250II 打印机驱动
  9. S7-300哪些24V数字量输入模块需要电源,与电源如何连接
  10. IMD sweet Spot(二)