首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以使用rayshader重新缩放R中的x/y轴纵横比?

是否可以使用rayshader重新缩放R中的x/y轴纵横比?
EN

Stack Overflow用户
提问于 2019-10-04 21:50:17
回答 1查看 117关注 0票数 2

我有一些来自实验室设备的数据,这些数据可以用等值线图/热图表示为矩阵。

我想尝试用rayshader包在R中演示这些数据。

我的问题是,数据的形状远不是正方形,矩阵是33行乘48003列。当我用rayshader绘制它时,我得到了一条细线:

代码语言:javascript
复制
library(dplyr)
library(rayshader)

set.seed(1742)
df <- matrix(rnorm(10000), nrow = 10)
rownames(df) <- 1:10
colnames(df) <- seq(0.01, 10, 0.01)

df %>%
  sphere_shade(texture = "desert") %>%
  plot_map()

有没有办法通过操纵x/y长宽比使rayshader将其绘制为正方形?或者以相同的比例绘制它们(一个维度收集数据的速度比另一个快得多)?我在文件里找不到任何东西。

在本例中,我尝试命名行和列,以便在10分钟内收集它们,但这不会改变结果。

最终结果应该类似于:

代码语言:javascript
复制
library(plotly)

set.seed(1742)
plot_ly(z = ~matrix(rnorm(10000), nrow = 10)) %>%
  add_surface()

非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2019-10-28 09:23:52

rayshader::plot_3d()的解决方案是使用scale = c(x, y, z),它会改变x/y/z的纵横比。这是隐藏的,但并不需要太多的努力就能找到答案。它是由plot_3d()调用的rgl::par3d()中的设置。

然而,我无法让plot_map()正常工作。当我尝试添加rgl::par3d()使用的参数asp = 1时,它抛出了错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58237741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档