R中的下拉菜单绘制子样本
Dropdown menu in R plotly to plot subsample
我正在尝试使用下拉菜单绘制数据集的子样本,使用 R 中 plotly
的下拉菜单。
这是我到目前为止(基于此answer)没有成功的:
library(data.table)
library(ggplot2)
library(plotly)
X <- data.table(xcoord = 1:10, ycoord = 1:10)
Z <- X[xcoord < 5]
gg <- ggplot(X, aes(x = xcoord, y = ycoord)) + geom_point()
ggplotly(gg) %>%
layout(updatemenus = list(
list(buttons = list(
list(method = "restyle",
args = list(list("x", list(X$xcoord)),
list("y", list(X$xcoord))),
label = "X"),
list(method = "restyle",
args = list(list("x", list(Z$xcoord)),
list("y", list(Z$ycoord))),
label = "Z")
))
))
找到解决方案:不得不改用命名列表。
ggplotly(gg) %>%
layout(updatemenus = list(
list(buttons = list(
list(method = "restyle",
args = list(list(x = list(X$xcoord)),
list(y = list(X$xcoord))),
label = "X"),
list(method = "restyle",
args = list(list(x = list(Z$xcoord)),
list(y = list(Z$ycoord))),
label = "Z")
))
))
我正在尝试使用下拉菜单绘制数据集的子样本,使用 R 中 plotly
的下拉菜单。
这是我到目前为止(基于此answer)没有成功的:
library(data.table)
library(ggplot2)
library(plotly)
X <- data.table(xcoord = 1:10, ycoord = 1:10)
Z <- X[xcoord < 5]
gg <- ggplot(X, aes(x = xcoord, y = ycoord)) + geom_point()
ggplotly(gg) %>%
layout(updatemenus = list(
list(buttons = list(
list(method = "restyle",
args = list(list("x", list(X$xcoord)),
list("y", list(X$xcoord))),
label = "X"),
list(method = "restyle",
args = list(list("x", list(Z$xcoord)),
list("y", list(Z$ycoord))),
label = "Z")
))
))
找到解决方案:不得不改用命名列表。
ggplotly(gg) %>%
layout(updatemenus = list(
list(buttons = list(
list(method = "restyle",
args = list(list(x = list(X$xcoord)),
list(y = list(X$xcoord))),
label = "X"),
list(method = "restyle",
args = list(list(x = list(Z$xcoord)),
list(y = list(Z$ycoord))),
label = "Z")
))
))