gpt4 book ai didi

r - 防止隐藏一组点后调整 R `plotly` 绘图轴的大小

转载 作者:行者123 更新时间:2023-12-05 05:15:23 27 4
gpt4 key购买 nike

我使用 Rplotly 创建 3D 散点图。我想比较隐藏一个或多个组时情节的外观。当我通过单击图例“关闭”(隐藏)其中一个组时,如何防止坐标轴驻留?

library(plotly)

# Data
set.seed(20180727)
my_data <-
data.frame(x = c(rnorm(20, mean = 0), rnorm(20, mean = 0), rnorm(20, mean = 2)),
y = c(rnorm(20, mean = 0), rnorm(20, mean = -5), rnorm(20, mean = 8)),
z = c(rnorm(20, mean = 0), rnorm(20, mean = 8), rnorm(20, mean = 4)),
group = gl(3, 20, labels = c("A", "B", "C"))
)


# Plotly settings
scene0 <- list(xaxis = list(range = range(my_data$x), autorange = FALSE),
yaxis = list(range = range(my_data$y), autorange = FALSE),
zaxis = list(range = range(my_data$z), autorange = FALSE))

# Plot
plot_ly(my_data,
x = ~x, y = ~y, z = ~z,
color = ~group,
type = "scatter3d",
mode = "markers",
marker = list(opacity = 0.6, size = 4)
) %>%
plotly::layout(scene = scene0)

所有组:

enter image description here

一组被隐藏,不幸的是,坐标轴的大小被调整了:

enter image description here

最佳答案

恶作剧

library(plotly)
library(dplyr)
# Data
set.seed(20180727)
my_data <-
data.frame(x = c(rnorm(20, mean = 0), rnorm(20, mean = 0), rnorm(20, mean = 2)),
y = c(rnorm(20, mean = 0), rnorm(20, mean = -5), rnorm(20, mean = 8)),
z = c(rnorm(20, mean = 0), rnorm(20, mean = 8), rnorm(20, mean = 4)),
group = gl(3, 20, labels = c("A", "B", "C"))
)

rangex = range(my_data$x)
rangey = range(my_data$y)
rangez = range(my_data$z)

# Plot
plot_ly(my_data,
x = ~x, y = ~y, z = ~z,
color = ~group,
type = "scatter3d",
mode = "markers",
marker = list(opacity = 0.6, size = 4)
) %>%
add_trace(y = rangey[2],x=rangex[2],z=rangez[2],type = "scatter3d",showlegend = FALSE,opacity=0) %>%
add_trace(y = rangey[1],x=rangex[1],z=rangez[1],type = "scatter3d",showlegend = FALSE,opacity=0)

enter image description here

关于r - 防止隐藏一组点后调整 R `plotly` 绘图轴的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51564594/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com