python 六维图_Python 画出来六维图
来自维基百科
我们的大脑通常最多能感知三维空间,超过三维就很难想象了。尽管是三维,理解起来也很费劲,所以大多数情况下都使用二维平面。
不过,我们仍然可以绘制出空间,今天就来用 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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持爱安网。
python 六维图_Python 画出来六维图相关推荐
- python画出的图_Python 画出来六维图
来自维基百科 我们的大脑通常最多能感知三维空间,超过三维就很难想象了.尽管是三维,理解起来也很费劲,所以大多数情况下都使用二维平面. 不过,我们仍然可以绘制出多维空间,今天就来用 Python 的 p ...
- python画k线图_python画k线图
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! import datetime import pandas_datareader ...
- 这图怎么画| 相关性热图+柱状图
heatmap_barplot 写在前面 [这图怎么画]系列的图都来自VIP群里同学的提问.推文只是对图片的复现,不代表作者对图片展现形式的认同.欢迎同学们在群里分析有意思的图片. 本期图片 ❝ Ti ...
- 这图怎么画| 3D曲面图(3d surface plots)
3d 写在前面 [这图怎么画]系列的图都来自VIP群里同学的提问.推文只是对图片的复现,不代表作者对图片展现形式的认同.欢迎同学们在群里分析有意思的图片. 本期图片 Zhou Z, Zhou X, C ...
- python能画k线图吗_python画k线图(一天的k线图怎么画)
1.大智慧软件在日线窗口的左上角标有主图的公式名称,(如ma sar bbi )等, 如果不是ma指标,请输入ma,回车.2.如果输入ma后还是没有均线,请按 f7 键,弹出 最好能举个例子的.非常感 ...
- python画时间序列图折线图_python画时间序列散点图
在运维管理中,经常遇到时间序列的数据,比如网卡流量.在线用户数.并发连接数,等等.用散点图可以直观的查看数据的分布情况. matplotlib模块的pyplot有画散点图的函数,但是该函数要求x轴是数 ...
- Python画图实战之画K线图【附带自动下载股票数据】
关于Python画图的基本知识可以先查看下面这篇文章Python画图(直方图.多张子图.二维图形.三维图形以及图中图)https://blog.csdn.net/weixin_41896770/art ...
- python做k线图_python做k线图(15分钟k线的意义)
北大荒... 大家对图中的巨量高开涨停是什么理解的... 庄家最后的出 日k线图又称阴阳烛,最初是日本米商用来表示米价涨跌状况的工具,后来引入股市,并逐渐风行于东南亚地区.k线图以其直观.立体感强的特 ...
- python 画k线图_matplotlib画k线图
画k线需要的包和环境: python36 import tushare as ts import re import matplotlib.pyplot as plt import mpl_finan ...
最新文章
- We cannot activate inspection type for article master in transaction code MM41?
- linux 中文乱码问题的解决方法
- C#刷遍Leetcode面试题系列连载(1) - 入门与工具简介
- uboot源码——汇编阶段的start.S文件
- python2.7出现的错误
- mysql 表上线_腾讯云上线数据库 MySQL 8.0 版
- Spring Boot 核心原理与源码解析 - 目录
- zabbix修改tomcat监控端口
- python中使用连续关系运算符_解释一下Python中的关系运算符
- python基础语法总结(超详细)
- 计算机桌面为什么没有语言栏了,电脑还原桌面的时候语言栏里怎么什么都没有了,只有到打字的时候才显示 ,这是为什么啊...
- 用python来开发webgame服务端(3)
- 七牛云上传的视频通过外链播放黑屏问题
- APM2.8 Rover 自动巡航车设计(硬件连接)
- HTML体育新闻案例
- web课程设计:网上商城系统
- win10莫名奇妙的卡死、小问题解决方案
- 安全沙箱技术赋能企业转型,提效200%!
- vulnhub刷题记录(The Planets: Earth)
- PHP开发环境的搭建
热门文章
- 华为笔记本MateBook 14s 2021款升级后,突然不能面部识别解锁
- 如何保证微服务下的数据一致性?
- MySQL入门-day03-SQL查询
- ChatGPT使用案例之画思维导图
- web制作圆角边框及字体引入
- 小米9,我连抢4场失败,蓝厂IQOO一次成功,还有MIUI和VIVO那啥系统的体验对比
- 题解 | #[USACO 2012 Mar S]Flowerpot#
- 与MS SqlServer服务器 建立连接后,查询数据时发生-指定的网络名不再可用错误-The specified network name is no longer available
- 日更100天(49)每天进步一点点
- 导出多个表格到EXCEL或者ET的JavaScript代码