plotly绘制3D图技巧
简介
Plotly 是一个非常强大的开源数据可视化框架,它通过构建基于 HTML 的交互式图表来显示信息,可创建各种形式的精美图表。本文所说的 Plotly 指的是 Plotly.js 的 Python 封装,plotly本身是个生态非常复杂的绘图工具,它对很多编程语言提供接口。交互式和美观易用应该是 Plotly 最大的优势,而 Matplotlib 的特点则是可定制化程度高,但语法也相对难学,各有优缺点。
安装及开发工具
安装通过 PIP 进行即可。
pip install plotly
Plotly Python 其对应的官网为Plotly Python Graphing Library,上面有一些教程和官方API接口的查询。
三维动态绘图
Plotly二大优势:1、自带交互式按钮,可用鼠标点击,拖动十分便捷。但需要注意若没有显卡驱动可能无法打开文件,如图中所示错误,此时需要安装更新显卡驱动,如图所示。
2、可以生成html文件,便于在各个电脑使用。
plotly绘制三维图需调用go.Scatter3d函数
#以下代码绘制静态图 data = [] trace = go.Scatter3d(x=, y=, z=, mode="lines", line=dict(color='orange'),name='XXX' + str(i + 1), opacity=0.7) data.extend([trace])
x y z分别为对应坐标,mode为类型包括线性lines 散点型markers等等,需要根据具体情况具体使用,name为名称,opacity为透明度范围0~1。
#以下代码为绘制动态图 frames = [] for i in range(m):trace = go.Scatter3d(x=, y=, z=, mode="lines", line=dict(color='orange'),name='', opacity=0.8)data.insert(0, trace) ###这里用来补充线,否则绘制动图时,会消失for k in range(Page):a = []a = [go.Surface(x=, y=, z=, showscale=False, colorscale=colorscale2[k], opacity=0.5,name='填充区域',surfacecolor=SurfaceColor2[k])] ###这里frame = [go.Frame(data=a, name=str(k))]frames.extend(frame)
这里为在静态图基础上绘制动态区域,需要对frams进行数据补充。
#生成图像所需数据 fig = go.Figure(data=data, frames=frames) #滑块配置 steps = [] for k, f in enumerate(fig.frames):# print(str(k), f.name)step = dict(method="animate",label=str(atime[k]),args=[[f.name], frame_args(20)],)steps.append(step) sliders = [dict(active=0, # 默认值currentvalue={"prefix": "时间/μs:"}, # 滑动条显示的名称;pad={"b": 20, "t": 10}, # 调节滑动条的位置,单位像素;steps=steps )]
#图层配置 fig.update_layout(# title='Slices in volumetric data',# width=1200,# height=1200,# scene=dict(# zaxis=dict(range=[0, 1200], autorange=False),# aspectratio=dict(x=1, y=1, z=1),# ),hovermode="closest",updatemenus=[{"buttons": [{"args": [None, frame_args(-1.5)],"label": "▶", # play symbol"method": "animate",},# {# "args": [[None], frame_args(0)],# "label": "◼", # pause symbol# "method": "animate",# },],"direction": "left","pad": {"r": 10, "t": 60},"type": "buttons","x": 0,"xanchor": "right","y": 0,"yanchor": "top",}],showlegend=True, #是否显示标注sliders=sliders,#滑块初始化scene=dict(camera=dict(eye=dict(x=POIN1Z[0], y=POIN1Z[1], z=POIN1Z[2]),up=dict(x=1,y=0,z=0)))#eye视角配置 up选择哪个坐标轴朝上) picture = py.plot(fig,filename='XXX.html',auto_open=False)
showlegend=True, #是否显示标注,
filename生成的html文件名;
auto_open是否自动打开文件。
plotly绘制3D图技巧相关推荐
- 可视化神器Plotly绘制3D图
公众号:尤而小屋 作者:Peter 编辑:Peter 大家好,我是Peter~ 本文中重点介绍的是如何利用plotly来绘制3D图形. 在3D图形中一般是包含3个轴的:x.y.z.在Plotly中绘图 ...
- R语言使用plotly绘制3D散点图实战
R语言使用plotly绘制3D散点图实战 目录 R语言使用plotly绘制3D散点图实战 #仿真数据 #plotly绘制3D散点图 #仿真数据 set.seed(41
- Plotly绘制时间序列图实战:简单时序图、时间范围限制的时序图
Plotly绘制时间序列图实战:简单时序图.时间范围限制的时序图 # 简单时间序列图: import plotly as py import plotly.graph_objs as gofrom d ...
- python绘制三维曲面图-python中Matplotlib实现绘制3D图的示例代码
Matplotlib 也可以绘制 3D 图像,与二维图像不同的是,绘制三维图像主要通过 mplot3d 模块实现.但是,使用 Matplotlib 绘制三维图像实际上是在二维画布上展示,所以一般绘制三 ...
- python绘制3d图-Python绘制3D图形
3D图形在数据分析.数据建模.图形和图像处理等领域中都有着广泛的应用,下面将给大家介绍一下如何使用python进行3D图形的绘制,包括3D散点.3D表面.3D轮廓.3D直线(曲线)以及3D文字等的绘制 ...
- python绘制3d图-python中Matplotlib实现绘制3D图的示例代码
Matplotlib 也可以绘制 3D 图像,与二维图像不同的是,绘制三维图像主要通过 mplot3d 模块实现.但是,使用 Matplotlib 绘制三维图像实际上是在二维画布上展示,所以一般绘制三 ...
- Matplotlib绘制3D图(面向对象)
import numpy as np import matplotlib.pyplot as plt# 第一步:创建 3D图像 对象ax fig = plt.figure(figsize=(12, 6 ...
- python3d动图_python中Matplotlib实现绘制3D图的示例代码
Matplotlib 也可以绘制 3D 图像,与二维图像不同的是,绘制三维图像主要通过 mplot3d 模块实现.但是,使用 Matplotlib 绘制三维图像实际上是在二维画布上展示,所以一般绘制三 ...
- 【Python】(2022.07.03)在Jupyter Notebook中调用Stata17并绘制3D图展示回归结果的边际效应
文章目录 背景介绍: 实现结果 安装过程 安装stata_setup包 检查是否安装成功 常见问题 调用stata 常见问题 1. stata安装在哪 2. 返回报错:TypeError: init( ...
最新文章
- SemSegMap :基于3D点云语义信息的定位
- boost的字符串处理函数——format
- C语言合理字符的代码,改善C语言程序代码的125个建议,第62到89个建议!
- 嵌入式linux硬件成本,嵌入式Linux驱动和固件有何区别?供应商是如何用固件压缩成本的?...
- Servlet程序入门
- SAP UI5 应用开发教程之六十九 - 如何从 SAP UI5 Not Found 页面跳转回到正常的应用页面
- vue项目中按需引入viewUI
- 初识ABP vNext(4):vue用户登录菜单权限
- android 5.0状态栏下载地址,Android沉浸式状态栏(5.0以上系统)
- 代码没写完,哪里有脸睡觉!17 张程序员壁纸推荐
- linux常用命令-第一篇
- 关于引力波的一些疑问
- 2022年全国大学生电子设计大赛省赛A题
- 【数据结构】班级管理系统
- C语言表上作业法运输问题,表上作业法解运输问题
- Cadence 17.4 等长布线
- 企业集团合并财务报表
- Mac应用程序、软件、工具仓库
- 2008 r2安装总是跳出 server sql_Microsoft SQL Server 2008 R2 安装遇到的问题
- 大数据 银行业应用案例_银行业市场分析大数据项目