我不知道如何使用R和Plotly使表格子图正常工作。
以下内容说明了我的意思。我有两个图,一个散点图和一张桌子。使用子图功能,表格图的行为不符合预期。
我要么在散点图上失去了交互性,要么散布了重叠的散点图/表格。请让我知道我是否缺少某些东西或这是一个错误。
我使用的是4.9.0版
谢谢!
library(plotly)
df <- data.frame(x = 1:10,
y = 1:10)
p1 <-
plot_ly(data = df,
type = "scatter",
mode = "line",
x = ~x,
y = ~y) %>%
layout(xaxis = list(fixedrange=T),
yaxis = list(fixedrange=T)) %>%
config(displayModeBar = F)
p2 <-
plot_ly(
type = 'table',
header = list(values = c("x", "y")),
cells = list(values = rbind(df$x, df$y))
)
subplot(p1, p2, nrows = 2) # overlapping plots
subplot(p2, p1, nrows = 2) # loses interactivity on p2
subplot(p1, p1, nrows = 2) # works as expected
答案 0 :(得分:1)
我刚刚阅读了有关Plotly的文档:
在Plotly中,没有原生方法可将Plotly Table插入到 子图。
https://plot.ly/python/table-subplots/
但是似乎我们可以创建自己的布局。对于表格,我添加了“域”以将其定位在左侧:
p2 <-
plot_ly(
type = 'table',
domain = list(x=c(0,0.5), y=c(0,1)),
header = list(values = c("x", "y")),
cells = list(values = rbind(df$x, df$y))
)
然后在左侧的表中添加“布局”,在右侧的表中添加散点图:
subplot(p1, p2, nrows = 2) %>%
layout(xaxis = list(domain=c(0.5,1.0)),
xaxis2 = list(domain=c(0,0.5)))