python slice函数画高维图_Python 绘制 3 维以上的高维图
实用技巧。
我们的大脑通常最多能感知三维空间,超过三维就很难想象了。尽管是三维,理解起来也很费劲,所以大多数情况下都使用二维平面。不过,我们仍然可以绘制出多维空间,今天就来用 Python 的 plotly 库绘制下三维到六维的图,看看长什么样。
数据我们使用一份来自 UCI 的 真实汽车数据集 ,该数据集包括 205 个样本和 26 个特征,从中选择 6 个特征来绘制图形:
Python学习交流群:1004391443
基础工作
安装好 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 slice函数画高维图_Python 绘制 3 维以上的高维图相关推荐
- python slice函数画高维图_六维图见过么?Python 画出来了
我们的大脑通常最多能感知三维空间,超过三维就很难想象了.尽管是三维,理解起来也很费劲,所以大多数情况下都使用二维平面. 来自维基百科 Python资源共享群:484031800 不过,我们仍然可以绘制 ...
- python slice函数画高维图_没想到Python还能画六维图
我们的大脑通常最多能感知三维空间,超过三维就很难想象了.尽管是三维,理解起来也很费劲,所以大多数情况下都使用二维平面. 来自维基百科 不过,我们仍然可以绘制出多维空间,今天就来用 Python 的 p ...
- 利用python获取股票折线图_python绘制香农的投资组合折线图
写在前面 最近在看<赌神数学家>这本书,在此书的第四部分"圣彼得堡悖论的故事"的"香农的恶魔"这一小节中,讲了香农自己对于股票的投资策略.在这一小节 ...
- python绘制散点图和折线图_python绘制散点图,柱状图和折线图
示例:散点图 最常见的散点图之一是x-y散点图.下面的代码会大致告诉你一个matplotlib是如何工作的,你会看到如何一点点建立起一个散点图. 我们正在使用点的x和y位置的一些构成数据.运行下面的代 ...
- Python slice() 函数
Python slice() 函数 Python 内置函数 描述 slice() 函数实现切片对象,主要用在切片操作函数里的参数传递. 语法 slice 语法: class slice(stop) ...
- python画k线图_Python绘制K线图
不管是对量化分析师还是普通的投资者来说,K线图(蜡烛图)都是一种很经典.很重要的工具.在K线图中,它会绘制每天的最高价.最低价.开盘价和收盘价,这对于我们理解股票的趋势以及每天的多空对比很有帮助. 一 ...
- python画两条曲线图_python绘制多个曲线的折线图
这篇文章利用的是matplotlib.pyplot.plot的工具来绘制折线图,这里先给出一个段代码和结果图: # -*- coding: UTF-8 -*- import numpy as np i ...
- python画趋势图_python 绘制走势图
1.工具 matplotlib numpy 2.matplotlib使用 import matplotlib.pyplot as plt #plt用于显示图片 import matplotlib.im ...
- python绘制3维图-Python 绘制 3 维以上的高维图
实用技巧. 我们的大脑通常最多能感知三维空间,超过三维就很难想象了.尽管是三维,理解起来也很费劲,所以大多数情况下都使用二维平面.不过,我们仍然可以绘制出多维空间,今天就来用 Python 的 plo ...
最新文章
- 设计模式--简单工厂(Factory)模式
- 硬盘由于io设备错误无法运行此项请求_移动硬盘坏了真倒霉,祸不单行U盘也坏了,数据怎么存储才安全?...
- (一)Web Service——基本概念
- python 字符串替换_学完Python打算出去找工作,怕找不到?看完这篇你可以提高通过率...
- spring常见术语理解
- Halcon 和 C# 联合编程 - 如何使用开源项目 ViewROI
- bzoj 1609: [Usaco2008 Feb]Eating Together麻烦的聚餐(DP)
- 感知机学习算法的直观解释
- c语言打印uint64, int64
- js实现网页中元素缩放(zoom vs scale)
- c99和c++11相互调用
- 火焰传感器的简单使用
- 精确字符串匹配(Zbox算法)
- php 生成单色位图,使用PHP实现将jpg/png转成.wbmp/.bmp格式图片后再转为16进制字符串(单色位图取模)...
- 报错,Uncaught TypeError: Cannot read properties of undefined (reading ‘inputValue‘) at <anonymous>
- 译:在ROS上发布Odometry信息
- PCB实用设计3 | 二极管大全·尖刺·滤波·有意义的降压
- 世界弹射物语 模拟抽卡
- CVS命令深入研究 zz
- Java 中文字符串编码之GBK转UTF-8
热门文章
- GitHub + jsDelivr + PicGo 搭建个人图床
- 回溯算法(八皇后问题)
- html 形成打印数据,用HTMLTestRunner生成报告,无法打印print的内容
- Cpp 对象模型探索 / 对象的虚函数表指针的位置
- html文件嵌入到reportlab,Reportlab学习笔记
- nfs上安装oracle,使用NFS安装oracle软件
- Arduino--LCD1602(4bit)
- mysql server5.0使用_sco openserver 5.0.5安装使用mysql4.0.21的方法Windows系统 -电脑资料...
- 温故之 “快速排序”
- 第四篇 群聚类非线性表的编程实验 第11章 应用图的遍历算法编程