gpt4 book ai didi

scale - 记录数据的 plotly boxplot 中的对数刻度

转载 作者:行者123 更新时间:2023-12-04 17:27:17 24 4
gpt4 key购买 nike

我想创建一个箱形图(可能还有其他图),其中包含对数刻度和根据记录的数据计算的统计数据。以下示例显示了逻辑。

数据如下:

d1 <- data.frame(x = rchisq(1000, 2), mod = c(rep('a', 500), rep('b', 500)))

如果我预先转换数据,我将获得在 y 轴上具有对数值的图。

plot_ly(d1, y = ~log10(x), color = ~mod, type = 'box')

enter image description here

如果我在创建箱线图后转换 y 轴,我会得到一个箱线图,其中包含来自原始数据的晶须长度和中位数,以及原始数据在 y 轴上的对数刻度。

plot_ly(d1, y = ~x, color = ~mod, type = 'box') %>%
layout(yaxis = list(type = "log", showgrid=T, ticks="outside", autorange=TRUE))

enter image description here

我想要的结果是上面两个图的组合——第一张图片的箱线图和第二张图片的比例尺。它应该看起来像可以在 ggplot 中执行的操作:

d1 %>% ggplot(aes(y=x, alpha = 0.1, color = mod, fill = mod))+
geom_boxplot()+
scale_y_log10()

enter image description here

我尝试用ggploly将ggplot修改成plotly,但是它失去了比例尺,改成了第一张图的比例尺。

任何人都可以帮助在 plotly 中绘制这样的图,或者如何使用 ggplotly 保留 y 轴上的对数刻度吗?

最佳答案

在转换 ggplot 时更难保持对数比例反对 ggplotly - 箱线图。你在plot_ly非常亲密.只需添加 tickvals=c(0.001,0.01,0.1,1,10)到你的 plot_ly 的布局你将得到以下输出:

output

您可以找出数据的范围并适本地定义为向量 mytickvals<-c(1,10,100) , 然后在布局中将其分配为 tickvals=mytickvals .

关于scale - 记录数据的 plotly boxplot 中的对数刻度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62455959/

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