在R中使用插图的子图(已修复错误) [英] Subplots using Plotly in R (bug fixed)
本文介绍了在R中使用插图的子图(已修复错误)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何在R中使用Ploly创建子图网格?
官网有这个nice Python example:
python代码有选项rows=2
和cols=2
,但在R中subplot
函数只有参数nrows
,没有ncols
。
我在R中尝试了此示例,但nrows
没有使Seam正常工作:
# Basic subplot
library(plotly)
p <- plot_ly(economics, x = date, y = uempmed)
subplot(p,p,p,p,
margin = 0.05,
nrows=2
) %>% layout(showlegend = FALSE)
它们在一行中,而不是在网格中。查看结果:
这里是R suplots page供参考。遗憾的是,我不能选择使用ggplotly
,就像this
更新
这是一个错误。Ploly团队速度很快,只用了3天(check here)就修好了!GitHub版本已更新。干得好!
推荐答案
这似乎是subplot()
生成两个绘图的y轴域的方式中的真正错误。实际上,它们是重叠的,如果您执行
p <- plot_ly(economics, x = date, y = uempmed)
q <- plot_ly(economics, x = date, y = unemploy)
subplot(p,q, nrows = 2)
这将产生以下绘图:
如果你仔细观察y轴,你会发现它们是重叠的。这暗示了subplot()
定义子图y轴域的方式存在问题。
如果我们手动修改y轴的域规范(按照plotly documentation),我们可以解决这个问题:
subplot(p,q, nrows = 2) %>% layout(yaxis = list(domain = c(0, 0.48)),
yaxis2 = list(domain = c(0.52, 1)))
这会产生以下结果:
现在,如果您想要重新生成类似于Python示例的4x4子图矩阵,您可能需要以类似的方式手动调整x轴域。
由于这是一个错误,而我的解决方案只是一种解决方法,因此我建议您在GitHub.
向plotly
提交问题
这篇关于在R中使用插图的子图(已修复错误)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文