关注后你就是我的人了

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

来自维基百科

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

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

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

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

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

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

python三维图的坐标_用Python 画个六维图,涨姿势了相关推荐

  1. python饼状图颜色一样_使用echarts画饼状图,设置饼状图颜色

    前言: 前面已经跟大家分享了使用echarts画柱状图.折线图,一些之前自己遇到的坑也跟大家说了,这次就不再赘述.官方有配置文档,很详细,大家不懂的地方也可以交流. 今日分享重点:画饼状图. 1.引入 ...

  2. python 三维图片 任意切片_在python中实现将一张图片剪切成四份的方法

    import cv2 # [1]导入OpenCv开源库 import numpy as np image_path = "F:11111111111111111111111111111100 ...

  3. python提取图片gps坐标_用python从.docx文件中提取GPS坐标

    如果有不同模式的文件,我不知道这是否有效(请注意,我使用的是python 2.7.11):# -*- coding: utf-8 -*- from docx import Document impor ...

  4. python二维图颜色函数_通过python改变图片特定区域的颜色详解

    通过python改变图片特定区域的颜色详解 首先让我祭出一张数学王子高斯的照片,这位印在德国马克上的神人有多牛呢? 他是近代数学的奠基人之一,与牛顿, 阿基米德并称顶级三大数学家,随便找一个编程语言的 ...

  5. python中turtle怎么确定坐标_关于Python turtle库使用时坐标的确定方法

    关于Python turtle库使用时坐标的确定方法 想画一个比较复杂的图像,而且还想用turtle画,最让人想退却的是无规律的笔势和繁多的坐标,但既然没有按奈住冲动的心,那我告诉你一个比较笨的方法吧 ...

  6. python瀑布图怎么做_利用Python绘制数据的瀑布图的教程

    介绍 对于绘制某些类型的数据来说,瀑布图是一种十分有用的工具.不足为奇的是,我们可以使用Pandas和matplotlib创建一个可重复的瀑布图. 在往下进行之前,我想先告诉大家我指代的是哪种类型的图 ...

  7. python识别文字坐标_【Python 教程】使用 Python 和大漠插件进行文字识别

    家里有一台win7系统的电脑,平时可以用来玩玩游戏消磨时间.但是有时候有一些重复的操作实在是无趣,所以打算写个脚本,让其自动化执行. 最终的目标就是把游戏里一些常用的操作都集合到脚本中去,且无序随机执 ...

  8. python堆叠瀑布图怎么做_利用Python绘制数据的瀑布图的教程

    介绍 对于绘制某些类型的数据来说,瀑布图是一种十分有用的工具.不足为奇的是,我们可以使用Pandas和matplotlib创建一个可重复的瀑布图. 在往下进行之前,我想先告诉大家我指代的是哪种类型的图 ...

  9. python画折线图代码实现_用Python画论文折线图、曲线图?几个代码模板轻松搞定!...

    前言 这几天在搞论文图,唉说实话抠图这种东西真能逼死人.坐在电脑前抠上一天越看越丑,最后把自己丑哭了-- 到了画折线图分析的时候,在想用哪些工具的时候.首先否决了excel,读书人的事,怎么能用exc ...

最新文章

  1. Java并发编程-volatile
  2. 安卓开发笔记(二十六):Splash实现首页快速开屏功能
  3. 《TCP/IP具体解释》读书笔记(18章)-TCP连接的建立与中止
  4. 在nagios中使用nrpe自定义脚本
  5. php ip 省份,PHP有没有生成国内各省份IP地址的类库?
  6. SonarQube上传分析报告失败
  7. Flash开发iOS应用全攻略(三)——如何使用iOS开发者授权以及如何申请证书
  8. CVE-2021-34527: Windows Print Spooler 蠕虫级远程代码执行漏洞
  9. 吴恩达机器学习总结二:单变量线性回归
  10. 洛谷 P3359 改造异或树
  11. [转载]Qt之模型/视图(自定义风格)_vortex_新浪博客
  12. Using platform encoding (UTF-8 actually) to copy
  13. 数据库学习--DQL(数据库查询语言)
  14. MariaDB忘记root密码
  15. linux 下的按键精灵 xdotool
  16. Cache的Insert 和Add 方法引发的血案
  17. 《Intel汇编语言程序设计》环境搭建
  18. gem5下用se模式运行自己的测试程序
  19. Mysql INNODB引擎行锁的3种算法 Record Lock Next-Key Lock Grap Lock
  20. 自定义Font Icon

热门文章

  1. Python编程模块里一些小众但是却比较实用的python内置库
  2. 用Python发一封图文并茂的邮件 荐
  3. Python+Appium实现APP自动化测试
  4. Pandas知识点-逻辑运算
  5. 集成sleuth_Spring Cloud集成ELK、采用RabbitMQ收集Zipkin数据
  6. beta分布的采样或抽样(java程序)
  7. IDEA远程部署调试Java应用程序
  8. Matlab【基础】【02】 将APP打包生成可执行EXE文件
  9. 【参考】微信 - 数据库 -官方封装接口说明:
  10. Font Configuration and Customization for Open Source Systems - 白皮书翻译和深入