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

来自维基百科

不过,我们仍然可以绘制出多维空间,今天就来用 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)变成五维图:

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

绘制 6-D 图

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

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

小编苦心整理的python学习路线及资料,现在免费分享给大家

获取方式:私信小编“学习”即可免费获取

Python在手,天下我有!以下为Python学习路线:

当然也有视频资料提供的:

现在这些全都免费分享给大家,在自学Python的你还在等什么呢?

python slice函数画高维图_没想到Python还能画六维图相关推荐

  1. python concat函数 多张表_最全Python数据工具箱:标准库、第三方库和外部工具都在这里了 - Mr_YJY...

    导读:Python数据工具箱涵盖从数据源到数据可视化的完整流程中涉及到的常用库.函数和外部工具.其中既有Python内置函数和标准库,又有第三方库和工具.这些库可用于文件读写.网络抓取和解析.数据连接 ...

  2. python为什么这么火知乎_没想到 Google 排名第一的编程语言,为什么会这么火?...

    没想到吧,Python 又拿第一了! 在 Google 公布的编程语言流行指数中,Python 依旧是全球范围内最受欢迎的技术语言! 01 为什么 Python 会这么火? 核心还是因为企业需要用它! ...

  3. python中函数的可变参数_简单谈谈Python中函数的可变参数

    前言 在Python中定义函数,可以用必选参数.默认参数.可变参数和关键字参数,这4种参数都可以一起使用,或者只用其中某些,但是请注意,参数定义的顺序必须是:必选参数.默认参数.可变参数和关键字参数. ...

  4. python安装函数库pip网址_批量安装python库函数---pip

    android Sqlite小记 1.android.database.sqlite.SQLiteException: near "": syntax error (code 1) ...

  5. kafka删除队列_没想到 Kafka 还会这样问,学会这些带你轻松搞定大厂面试!

    一.前言 自上次师兄遭受了面试官 「Kafka」 的暴击追问后,回来发奋图强,企图"「吊打面试官」",奈何还是面试官套路深啊,最近的面试,又被问到「知识盲点」了!让我们一起来看看, ...

  6. Python slice() 函数

    Python slice() 函数  Python 内置函数 描述 slice() 函数实现切片对象,主要用在切片操作函数里的参数传递. 语法 slice 语法: class slice(stop) ...

  7. Python 字符串常见的语句,和练习题,字符串练习题 Python 切片函数修饰符 #精度和进制Python 字符串一些语句练课件练习题

    字符串练习题 Python 切片 函数修饰符 #精度和进制 Python 字符串一些语句练 课件练习题 4,.by     字符串的替换         方法    描述         replac ...

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

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

  9. python画车辆轨迹图_如何利用 Python 绘制酷炫的 车辆轨迹 — 速度时空图?三维数据用二维图像呈现...

    说明:本文系交通攻城狮原创文章,如需转载请私信联系,侵权必究. 2020,第 30 期,编程笔记 建议直接阅读精编版:如何利用 Python 绘制酷炫的 车辆轨迹 - 速度时空图?三维数据用二维图像呈 ...

最新文章

  1. CloudCompare二次开发编译篇(内附交流群更新通知)
  2. java list用法_java list的用法详解
  3. 00后感兴趣的“微醺生意”,居然被这位70后老兵做成功了?
  4. 如何获取当前刀具号_数控刀具的选用原则,如何使用数控刀具?一文全面介绍数控刀具...
  5. 苹果官网以旧换新价格暴跌;戴威退出 ofo 法人代表及高管;TensorFlow 2.1.0 发布| 极客头条...
  6. 第一次用PHP做电影站 用thinkphp开发的!!
  7. android 选择多选图片
  8. 知名互联网公司系统架构图[第3期]
  9. Jenkins使用FTP进行一键部署及回滚(Windows)
  10. 众专家推荐《移动微技(Mobile Widget)应用开发权威指南》
  11. 关于asp.net中文文件名超长的下载问题
  12. wifi指标测试软件,WiFi6测试指标
  13. Contextual Diversity for Active Learning阅读笔记
  14. WP Engine开发人员工具的好处
  15. staf linux运行模式,IBM 自动化测试框架STAF介绍
  16. 序列周期性与魔术(一)——数学里的函数周期性
  17. CIDR无类别域间路由
  18. java学习day31(redis2)数据类型
  19. 路由器(交换机)的光口和电口
  20. Office办公软件各种神操作,看到第1个就傻眼了,建议收藏

热门文章

  1. 操作系统(一)—— 概论(1):导论
  2. 【Redis】Redis数据库
  3. 小明打游戏(Java)
  4. Itext5生成Pdf报表
  5. 【iOS】遍历相册照片
  6. spotify歌曲下载_如何像真正的DJ一样让Spotify在歌曲之间进行淡入淡出
  7. kaggle操作入门
  8. 十种能毁掉你一生职场生涯的心态
  9. 关于React报Too many re-renders. React limits the number of renders to prevent an infinite错误的解决方案
  10. 推荐系统中的选择偏差及处理