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 图
接着还可以通过更改形状的方式增加第六个维度——车门数,圆形表示四车门,方形表示两车门。通常两个车门的都是昂贵的豪华跑车,在图中也可以看出方形主要集中在价格比较高的区域。
这样我们就从普通的二维图扩展到了高维图,当然还可以继续拓展,不过分辨起来会越来越困难。
原文链接:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持龙方网络。
python画出的图_Python 画出来六维图相关推荐
- python 画出决策边界_python 画出使用分类器得到的决策边界
python 画出使用分类器得到的决策边界 发布时间:2020-09-25 21:10:09 来源:脚本之家 阅读:113 作者:星之空殇 获取数据集,并画图代码如下: import numpy as ...
- python画人民大会堂_太震撼了,我用python画出全北京的公交线路动图
原标题:太震撼了,我用python画出全北京的公交线路动图 今天教大家用pyecharts制作北京市公交线路动态图,这应该是全网唯一一篇能正常运行的教程 一.获取百度秘钥 首先,本项目需要引用百度地图 ...
- pyhton 画出音频文件的波形图和频谱图
pyhton 画出音频文件的波形图和频谱图 # -*- coding:utf-8 -*- import wave import struct import numpy as np import mat ...
- python图片识别拉框_python目标检测给图画框,bbox画到图上并保存案例
我就废话不多说了,还是直接上代码吧! import os import xml.dom.minidom import cv2 as cv ImgPath = 'C:/Users/49691/Deskt ...
- python编程怎么画三角形的外接圆_python画出三角形外接圆和内切圆的方法
摘要:这篇Python开发技术栏目下的"python画出三角形外接圆和内切圆的方法",介绍的技术点是"Python._和__.三角形.三角",希望对大家开发技术 ...
- python画时间序列图折线图_python画时间序列散点图
在运维管理中,经常遇到时间序列的数据,比如网卡流量.在线用户数.并发连接数,等等.用散点图可以直观的查看数据的分布情况. matplotlib模块的pyplot有画散点图的函数,但是该函数要求x轴是数 ...
- python画离散图_python画离散图
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 不过,恋习python突然想到,可以通过python将故宫的建筑物图片,转化为手 ...
- python画k线图_python画k线图
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! import datetime import pandas_datareader ...
- python 六维图_Python 画出来六维图
来自维基百科 我们的大脑通常最多能感知三维空间,超过三维就很难想象了.尽管是三维,理解起来也很费劲,所以大多数情况下都使用二维平面. 不过,我们仍然可以绘制出空间,今天就来用 Python 的 plo ...
最新文章
- matchTemplate函数
- 【Spring MVC】 maven pom.xml 错误: Cannot upgrade/downgrade to Dynamic Web Module 3.0 facet.
- 进制转换中dbho是什么意思_什么是网段?二进制十进制如何互相转换?看完这篇,你就全明白了...
- JAVA两个视图层_MVC - 管理帐户 . 一个视图有两个局部视图和两个模型
- 【实践驱动开发3-004】TI WL1835MODCOM8 在android的移植 - 系统结构初始化和参考列表
- php psr 编码规范_PHP编码风格规范
- C++11中容器迭代器操作总结
- Foobar2000的配置及优化
- AD15PCB快速布局元器件
- 2018腾讯社交广告算法大赛总结/0.772229/Rank11-复习代码
- 两台android相互ADB实现一台安卓手机给另一台安卓手机ADB
- unexpected indent解决方法
- 以下描述中最不适合用计算机编程来处理的是,以下描述中最适合用计算机编程来处理的问题是( ?)。...
- 用python导入dmp到oracle
- 美团2021校招笔试-编程题(通用编程试题,第10场)
- 《通信网》专题八:接入网技术
- Asterisk修改call file源代码(pbx_spool.c)以支持邀请PJSIP webrtc分机
- 3DMax学习笔记【还在更新】
- 什么是动态网页?动态网页有哪些特点?
- 电脑输入英文字母间距太大