从绘图 3d 图中抓取相机位置

2024-03-29

我正在绘制 3D 图形并想要调整相机位置。对我来说最好的方法是使用查看器,根据需要缩放和旋转场景,然后以 JSON 形式获取相机位置并将其放入我的脚本中,该脚本生成图片以默认实现相同的位置。

根据这条推文 https://twitter.com/plotlygraphs/status/602851657572048896,它应该可以工作,但事实并非如此。

我的代码是:

from plotly.graph_objs import Scatter3d, Layout, Scene
from plotly.offline import iplot
import plotly
from numpy import sin, cos, linspace, pi, zeros_like

plotly.offline.init_notebook_mode()

t = linspace(0, 4*pi)

trace1 = Scatter3d(
    x = t,
    y = cos(t),
    z = sin(t),
    mode = 'lines'
)

layout = Layout(
                width = 600, 
                height = 600, 
                scene = Scene(
                    xaxis = {'title': 't'},
                    yaxis = {'title': 'x'},
                    zaxis = {'title': 'y'},
                    camera =
                      {'eye':{'x':0,'y':1,'z':0}, 
                       'up': {'x':0,'y':0,'z':1}, 
                       'center': {'x':0,'y':0,'z':0}}
                )
)
iplot(dict(data=[trace1], layout=layout))

然后我得到一张图片:

单击“在云端保存并编辑”,切换到绘图界面,调整相机位置并单击“查看 JSON”,仍然获得我在布局中指定的默认相机位置。


以下是 Plotly 3d 绘图相机控制示例的完整说明:

http://nbviewer.jupyter.org/github/etpinard/plotly-misc-nbs/blob/master/3d-camera-controls.ipynb http://nbviewer.jupyter.org/github/etpinard/plotly-misc-nbs/blob/master/3d-camera-controls.ipynb

为了完整起见,这里有一个简短的摘要:

可以使用camera代替cameraposition因为它似乎有更简单的解释。

相机位置由三个向量确定:up, center, eye.

向上向量确定页面上的向上方向。默认为(x=0, y=0, z=1),即 z 轴朝上。

中心向量确定关于场景中心的平移。默认情况下,没有平移:中心向量是(x=0, y=0, z=0).

眼睛矢量确定相机关于原点的视点。默认为(x=1.25, y=1.25, z=1.25).

还可以通过减小眼睛矢量的范数来放大。

name = 'eye = (x:0.1, y:0.1, z:1)'
camera = dict(
    up=dict(x=0, y=0, z=1),
    center=dict(x=0, y=0, z=0),
    eye=dict(x=0.1, y=0.1, z=1)
)
fig = make_fig(camera, name)
py.iplot(fig, validate=False, filename=name)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从绘图 3d 图中抓取相机位置 的相关文章

  • 如何查看Databricks中的所有数据库和表

    我想列出 Azure Databricks 中每个数据库中的所有表 所以我希望输出看起来像这样 Database Table name Database1 Table 1 Database1 Table 2 Database1 Table
  • Django 代理模型的继承和多态性

    我正在开发一个我没有启动的 Django 项目 我面临着一个问题遗产 我有一个大模型 在示例中简化 称为MyModel这应该代表不同种类的物品 的所有实例对象MyModel应该具有相同的字段 但方法的行为根据项目类型的不同而有很大差异 到目
  • SQLAlchemy 通过关联对象声明式多对多自连接

    我有一个用户表和一个朋友表 它将用户映射到其他用户 因为每个用户可以有很多朋友 这个关系显然是对称的 如果用户A是用户B的朋友 那么用户B也是用户A的朋友 我只存储这个关系一次 除了两个用户 ID 之外 Friends 表还有其他字段 因此
  • 将 Matplotlib 误差线放置在不位于条形中心的位置

    我正在 Matplotlib 中生成带有错误栏的堆积条形图 不幸的是 某些层相对较小且数据多样 因此多个层的错误条可能重叠 从而使它们难以或无法读取 Example 有没有办法设置每个误差条的位置 即沿 x 轴移动它 以便重叠的线显示在彼此
  • 使 django 服务器可以在 LAN 中访问

    我已经安装了Django服务器 可以如下访问 http localhost 8000 get sms http 127 0 0 1 8000 get sms 假设我的IP是x x x x 当我这样做时 从同一网络下的另一台电脑 my ip
  • Python - StatsModels、OLS 置信区间

    在 Statsmodels 中 我可以使用以下方法拟合我的模型 import statsmodels api as sm X np array 22000 13400 47600 7400 12000 32000 28000 31000 6
  • 如何使用Conda下载python包并随后离线安装?

    我知道通过 pip 我可以使用以下命令下载 Python 包 但 pip install 破坏了我的内部包依赖关系 当我做 pip download
  • 如何在 Python 中检索 for 循环中的剩余项目?

    我有一个简单的 for 循环迭代项目列表 在某些时候 我知道它会破裂 我该如何退回剩余的物品 for i in a b c d e f g try some func i except return remaining items if s
  • 基于代理的模拟:性能问题:Python vs NetLogo & Repast

    我正在 Python 3 中复制一小段 Sugarscape 代理模拟模型 我发现我的代码的性能比 NetLogo 慢约 3 倍 这可能是我的代码的问题 还是Python的固有限制 显然 这只是代码的一个片段 但 Python 却花费了三分
  • OpenCV 无法从 MacBook Pro iSight 捕获

    几天后 我无法再从 opencv 应用程序内部打开我的 iSight 相机 cap cv2 VideoCapture 0 返回 并且cap isOpened 回报true 然而 cap grab 刚刚返回false 有任何想法吗 示例代码
  • 从 Flask 访问 Heroku 变量

    我已经使用以下命令在 Heroku 配置中设置了数据库变量 heroku config add server xxx xxx xxx xxx heroku config add user userName heroku config add
  • Pygame:有没有简单的方法可以找到按下的任何字母数字的字母/数字?

    我目前正在开发的游戏需要让人们以自己的名义在高分板上计时 我对如何处理按键有点熟悉 但我只处理过寻找特定的按键 有没有一种简单的方法可以按下任意键的字母 而不必执行以下操作 for event in pygame event get if
  • 无法在 Python 3 中导入 cProfile

    我试图将 cProfile 模块导入 Python 3 3 0 但出现以下错误 Traceback most recent call last File
  • Pandas:merge_asof() 对多行求和/不重复

    我正在处理两个数据集 每个数据集具有不同的关联日期 我想合并它们 但因为日期不完全匹配 我相信merge asof 是最好的方法 然而 有两件事发生merge asof 不理想的 数字重复 数字丢失 以下代码是一个示例 df a pd Da
  • 每个 X 具有多个 Y 值的 Python 散点图

    我正在尝试使用 Python 创建一个散点图 其中包含两个 X 类别 cat1 cat2 每个类别都有多个 Y 值 如果每个 X 值的 Y 值的数量相同 我可以使用以下代码使其工作 import numpy as np import mat
  • 对年龄列进行分组/分类

    我有一个数据框说df有一个柱子 Ages gt gt gt df Age 0 22 1 38 2 26 3 35 4 35 5 1 6 54 我想对这个年龄段进行分组并创建一个像这样的新专栏 If age gt 0 age lt 2 the
  • 解释 Python 中的数字范围

    在 Pylons Web 应用程序中 我需要获取一个字符串 例如 关于如何做到这一点有什么建议吗 我是 Python 新手 我还没有找到任何可以帮助解决此类问题的东西 该列表将是 1 2 3 45 46 48 49 50 51 77 使用
  • 发送用户注册密码,django-allauth

    我在 django 应用程序上使用 django alluth 进行身份验证 注册 我需要创建一个自定义注册表单 其中只有一个字段 电子邮件 密码将在服务器上生成 这是我创建的表格 from django import forms from
  • 如何使用 Pycharm 安装 tkinter? [复制]

    这个问题在这里已经有答案了 I used sudo apt get install python3 6 tk而且效果很好 如果我在终端中打开 python Tkinter 就可以工作 但我无法将其安装在我的 Pycharm 项目上 pip
  • 如何将输入读取为数字?

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 Why are x and y下面的代码中使用字符串而不是整数 注意 在Python 2

随机推荐

  • 在 AWS RDS 实例之间移动数据

    我需要在两个不同的 rds 实例上的相同 mysql 数据库之间移动数百万行 我想到的方法是这样的 use data pipeline to export data from the first instance to amazon s3
  • 在 R 中对非常大的数据集(180 万行 x 270 列)进行建模

    我正在研究一个视窗8操作系统带有8 GB 内存 我有一个数据框180 万行 x 270 列我必须对其执行glm logit 任何其他分类 我尝试使用 ff 和 bigglm 包来处理数据 但我仍然面临错误的问题 Error cannot a
  • 检查我的页面是否嵌入 iframe 中

    我想测试我的页面 php 是否嵌入到 iframe 中 以便实现不同的行为 知道如何测试这个 如果有帮助的话我也在使用 jQuery 添加 我特别感兴趣是否有一种方法可以在服务器上而不是在客户端使用 Javascript 来测试它 你可以使
  • “尚未应用待处理的组合物”例外是什么意思以及如何避免?

    我有一个正在运行的应用程序 但有时 由于我未知的原因 应用程序崩溃并显示以下消息 java lang IllegalStateException 尚未应用挂起的组合 我无法在任何地方找到有关此异常发生的信息 而且我也不明白如何避免它 编辑
  • Android - 从HashMap中获取值

    我尝试在 Android 中搜索 HashMap 但出现问题 考虑这个例子 HashMap
  • 将 Android GoogleSignIn 与 GmailScopes.GMAIL_SEND (gmail api) 结合使用

    我想使用 GoogleSignIn 并使用 android 内部电子邮件地址 gmail 发送电子邮件 GoogleSignInOptions gso new GoogleSignInOptions Builder GoogleSignIn
  • 更改搜索栏中的键盘颜色和外观

    当用户点击搜索文本字段时 我想将键盘的颜色更改为黑色 我试图通过以下方式实现它UITextField textField UITextField appearance textField setKeyboardAppearance UIKe
  • jenkins中访问文件参数

    我正在从事多配置工作 回归 L1 在 Jenkins 中 其任务是运行 2 种测试 测试1和测试2 在多配置作业中 它会触发执行器作业 回归执行器 运行所选测试的脚本 这回归 L1作业被限制运行矩阵服务工作节点 而矩阵作业将在从节点中运行自
  • Python Regex - 查找html标签之间的字符串[重复]

    这个问题在这里已经有答案了 我正在尝试提取 Html 标签之间的字符串 我可以看到以前在堆栈溢出上也有人问过类似的问题 但我对 python 完全陌生 而且我很挣扎 所以如果我有 b Bold Stuff b 我想要一个正则表达式让我 Bo
  • 当我尝试向我的 S3 存储桶 (Node.js) 发送内容时 AWS 缺少凭证

    我从昨天开始就遇到这个问题 一直找不到解决方案 我正在尝试将某些内容发送到我的 S3 存储桶 但是当我尝试时 此消息出现在我的控制台中 CredentialsError Missing credentials in config messa
  • 在地图上绘制插值数据

    我有在美国切萨皮克湾不同地点采集的物种丰富度调查数据 我想以图形方式将这些数据呈现为 热图 我有一个纬度 经度坐标和丰富度值的数据框 我将其转换为SpatialPointsDataFrame并使用了autoKrige automap 包中的
  • 张量流“模块”对象没有属性“contrib”

    我使用pip方法安装了tensorflow 在python 2 7 debian linux上 如官方文档所示 https www tensorflow org versions r0 9 get started os setup html
  • aws apigateway lambda 始终返回 502

    我已经为我的代理服务器创建了 aws apigateway lambda 集成 当我向网关发出 get 请求时 请求已成功通过 lambda 函数也成功执行 并在输出流中写入响应 statusCode 为 200 但 apigateway
  • 以编程方式启动 EA

    我想通过 Windows 服务打开 EA 会话并在幕后执行一些操作 我使用 Repository API 但是不知道如何正确初始化它 EA Repository repository repository OpenFile C test e
  • 如何在 .ashx 上手动创建 ODataQueryOptions

    我想重建我的上一个项目 过去 我没有使用任何 Web API 我可以使用 ODataQueryOptions 来执行 filter orderby top skip 操作吗 对于我自己的 handler ashx 中的查询 就像是 var
  • e.preventdefault();不工作

    我真的很难得到e preventDefault 上班 这是我的代码 ListSnapshot a live click function e var url this attr href WebPartWPQ2 ms listviewtab
  • 在 MKMapView 上安装注释,同时保持用户位置居中

    我正在尝试将所有注释放入我的MKMapView同时将当前用户位置保持在地图中心 已经有很多参考资料 1 2 介绍如何缩小区域以适合地图上的注释 但它们会调整当前的中心位置 例如如果所有注释都位于我当前用户位置的东部 它将进行调整 以便当前用
  • 在现有数据库上使用 liquibase

    我们有一个正在生产的现有数据库 我们决定使用 liquibase 进行所有进一步更新并创建任何新数据库 例如开发或集成 我们根据现有的生产模式创建了 liquibase 脚本 以创建任何新的数据库 如开发 集成等 除了该脚本之外 我们还添加
  • 当终止使用 python 子进程 Popen 启动的进程时,如何关闭标准输出管道?

    我想知道当杀死在不同线程中启动的子进程时是否可以关闭通信管道 如果我不调用communicate 那么kill 将按预期工作 在一秒而不是五秒后终止进程 我发现了类似问题的讨论here http bugs python org issue4
  • 从绘图 3d 图中抓取相机位置

    我正在绘制 3D 图形并想要调整相机位置 对我来说最好的方法是使用查看器 根据需要缩放和旋转场景 然后以 JSON 形式获取相机位置并将其放入我的脚本中 该脚本生成图片以默认实现相同的位置 根据这条推文 https twitter com