六维图见过么?Python 画出来了
来自维基百科
作者 |苏克1900
来源 | 高级农民工(ID:Mocun6)
我们的大脑通常最多能感知三维空间,超过三维就很难想象了。尽管是三维,理解起来也很费劲,所以大多数情况下都使用二维平面。
不过,我们仍然可以绘制出多维空间,今天就来用 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 图
接着还可以通过更改形状的方式增加第六个维度——车门数,圆形表示四车门,方形表示两车门。通常两个车门的都是昂贵的豪华跑车,在图中也可以看出方形主要集中在价格比较高的区域。
这样我们就从普通的二维图扩展到了高维图,当然还可以继续拓展,不过分辨起来会越来越困难。
原文链接:
https://medium.com/@prasadostwal/multi-dimension-plots-in-python-from-2d-to-6d-9a2bf7b8cc74
(*本文仅代表作者观点,转载请联系原作者)
◆
精彩推荐
◆
比写代码更重要的是抓住下一个技术风口。6月AI技术福利,亚马逊、微软、BTA、滴滴、字节跳动、美团等一线公司大牛带你一起探索机器学习、数据分析、自然语言处理、知识图谱等热门技术领域的未来方向以及落地实践。
限免即将结束,速领~
推荐阅读:
你点的每个“在看”,我都认真当成了喜欢
六维图见过么?Python 画出来了相关推荐
- python slice函数画高维图_六维图见过么?Python 画出来了
我们的大脑通常最多能感知三维空间,超过三维就很难想象了.尽管是三维,理解起来也很费劲,所以大多数情况下都使用二维平面. 来自维基百科 Python资源共享群:484031800 不过,我们仍然可以绘制 ...
- python画折线图详解-利用python画出折线图
本文实例为大家分享了python画折线图的具体代码,供大家参考,具体内容如下 # encoding=utf-8 import matplotlib.pyplot as plt from pylab i ...
- 没错,你看到的这张图,我用Python画出来了!
作者:爱学Python的C君 来源:CDA数据分析师 CDA数据分析师 出品 [导语]:今天我们教你用Python画出当下最火的疫情直观图,Python技术部分可以直接看第四 ...
- python画函数图象_用python画函数图像
原博文 2020-03-12 15:11 − 上代码 import numpy as np import matplotlib.pyplot as plt def f(x): return x*x*x ...
- python三维图的坐标_六维图见过么?Python 画出来了
作者 | Prasad Ostwal 译者 | 高级农民工 我们的大脑通常最多能感知三维空间,超过三维就很难想象了.尽管是三维,理解起来也很费劲,所以大多数情况下都使用二维平面. 来自维基百科 不过, ...
- python绘制3维图-1、2、3维图见过,用Python画出来的六维图见过么?
我们的大脑通常最多能感知三维空间,超过三维就很难想象了.尽管是三维,理解起来也很费劲,所以大多数情况下都使用二维平面. 来自维基百科 不过,我们仍然可以绘制出多维空间,今天就来用 Python 的 p ...
- 六维图见过么?Python 画出来了!
作者 | Prasad Ostwal 译者 | 高级农民工 我们的大脑通常最多能感知三维空间,超过三维就很难想象了.尽管是三维,理解起来也很费劲,所以大多数情况下都使用二维平面. 来自维基百科 不过, ...
- python 六维图_六维图见过么?Python 画出来了!
做者 | Prasad Ostwalpython 译者 | 高级农民工程序员 咱们的大脑一般最多能感知三维空间,超过三维就很难想象了.尽管是三维,理解起来也很费劲,因此大多数状况下都使用二维平面.面试 ...
- 用python画漂亮图-零基础用 Python 画图表,让你的论文更美观
曾经我在高中的时候有一篇数学探索的小作业,其中我需要画出一张比较复杂的函数图.由于 X 和 Y 的坐标轴标签都需要一定的自定义,所以微软 Office 自带的画图工具自然无法满足我的要求.经过一段时间 ...
最新文章
- 详细故障排除步骤:针对 Azure 中到 Windows VM 的远程桌面连接问题
- javascript 水平文字垂直滚动
- Apache Common HttpClient使用之七种武器
- java远程下载文件到本地_java远程下载文件到本地
- 第一次接广告的心得,关于广告我怎么看
- 【Linux】一步一步学Linux系统编程教程汇总(暂时暂停更新......)
- sensor曝光量和曝光行的区别_拼多多新手商家怎样快速提高曝光量?
- spring使用JdbcTemplate和jdbcDaosupport及具名参数使用
- swift获取图片像素颜色值
- qcc3020定制、qcc3020软件开发tws耳机的注意事项
- 计算机网络基础 习题,计算机网络基础练习题集.pdf
- 【ThinkPHP】后台数组,赋值到前台模板HTML文件中的JS的变量,且以JSON对象形式存放
- 使用Python批量解压缩文件(zip,rar)
- 2017-01-27-一句话木马原理详解
- mysql error 1213_webgame中Mysql Deadlock ERROR 1213 (40001)错误的排查历程
- NOIP2015斗地主
- PAC学习理论:机器学习那些事
- c语言小蜜蜂编程题,小蜜蜂 pascal程序
- 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
- html复习第四课(2_34_0924_html)
热门文章
- HEVC参考软件HM源码分析--帧间预测(1)--xCompressCU
- 原生or HTML5
- 汽车之家 php,demo.php · 放屁大亨。/PHP爬取汽车之家数据 - Gitee.com
- 【t056】智力问答(multiset做法)
- WPF技术触屏上的应用系列(一): 3D 图片(照片)墙、柱面墙(凹面墙或者叫远景墙、凸面墙或者叫近景墙)实现
- XenServer假死状态
- Float Point Exception
- Network: use `--host` to expose
- 2022-07-20 Android 11 SELinux avc 修改sys目录下面某个节点的权限
- 计算机文件目录格式书写,关于毕业论文书写格式 论文目录格式模板