来自维基百科

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

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

  1. python 画出决策边界_python 画出使用分类器得到的决策边界

    python 画出使用分类器得到的决策边界 发布时间:2020-09-25 21:10:09 来源:脚本之家 阅读:113 作者:星之空殇 获取数据集,并画图代码如下: import numpy as ...

  2. python画人民大会堂_太震撼了,我用python画出全北京的公交线路动图

    原标题:太震撼了,我用python画出全北京的公交线路动图 今天教大家用pyecharts制作北京市公交线路动态图,这应该是全网唯一一篇能正常运行的教程 一.获取百度秘钥 首先,本项目需要引用百度地图 ...

  3. pyhton 画出音频文件的波形图和频谱图

    pyhton 画出音频文件的波形图和频谱图 # -*- coding:utf-8 -*- import wave import struct import numpy as np import mat ...

  4. python图片识别拉框_python目标检测给图画框,bbox画到图上并保存案例

    我就废话不多说了,还是直接上代码吧! import os import xml.dom.minidom import cv2 as cv ImgPath = 'C:/Users/49691/Deskt ...

  5. python编程怎么画三角形的外接圆_python画出三角形外接圆和内切圆的方法

    摘要:这篇Python开发技术栏目下的"python画出三角形外接圆和内切圆的方法",介绍的技术点是"Python._和__.三角形.三角",希望对大家开发技术 ...

  6. python画时间序列图折线图_python画时间序列散点图

    在运维管理中,经常遇到时间序列的数据,比如网卡流量.在线用户数.并发连接数,等等.用散点图可以直观的查看数据的分布情况. matplotlib模块的pyplot有画散点图的函数,但是该函数要求x轴是数 ...

  7. python画离散图_python画离散图

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 不过,恋习python突然想到,可以通过python将故宫的建筑物图片,转化为手 ...

  8. python画k线图_python画k线图

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! import datetime import pandas_datareader ...

  9. python 六维图_Python 画出来六维图

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

最新文章

  1. matchTemplate函数
  2. 【Spring MVC】 maven pom.xml 错误: Cannot upgrade/downgrade to Dynamic Web Module 3.0 facet.
  3. 进制转换中dbho是什么意思_什么是网段?二进制十进制如何互相转换?看完这篇,你就全明白了...
  4. JAVA两个视图层_MVC - 管理帐户 . 一个视图有两个局部视图和两个模型
  5. 【实践驱动开发3-004】TI WL1835MODCOM8 在android的移植 - 系统结构初始化和参考列表
  6. php psr 编码规范_PHP编码风格规范
  7. C++11中容器迭代器操作总结
  8. Foobar2000的配置及优化
  9. AD15PCB快速布局元器件
  10. 2018腾讯社交广告算法大赛总结/0.772229/Rank11-复习代码
  11. 两台android相互ADB实现一台安卓手机给另一台安卓手机ADB
  12. unexpected indent解决方法
  13. 以下描述中最不适合用计算机编程来处理的是,以下描述中最适合用计算机编程来处理的问题是( ?)。...
  14. 用python导入dmp到oracle
  15. 美团2021校招笔试-编程题(通用编程试题,第10场)
  16. 《通信网》专题八:接入网技术
  17. Asterisk修改call file源代码(pbx_spool.c)以支持邀请PJSIP webrtc分机
  18. 3DMax学习笔记【还在更新】
  19. 什么是动态网页?动态网页有哪些特点?
  20. 电脑输入英文字母间距太大

热门文章

  1. Mybatis中的大于、小于、大于等于、小于等于、不等于的两种写法
  2. SVAC 2.0安全系统组成
  3. 中兴机试 通信算法方向 秋招春招
  4. 国际航运管理复习总结题
  5. if(男深圳集体户口女非深圳户口)深圳准生证办理材料及流程
  6. 无线耳机哪个品牌音质好?2023无线蓝牙耳机音质排行
  7. 阿里云人脸对比API使用
  8. AMR NB格式解析
  9. CIE 1931 颜色空间(来自维基百科)
  10. 解决win10系统便签提示无法打开这个应用,以及win10下照片查看器的问题