gpt4 book ai didi

r - 使用 ggvis 对数比例和限制

转载 作者:行者123 更新时间:2023-12-02 15:48:38 24 4
gpt4 key购买 nike

嗨,我对 ggvis 中的刻度有点困惑。我想做两件事:一是有一个对数刻度(相当于plot()中的log =“x”)。我也在寻找 xlim=c() 的等效项。在这两种情况下,下面的代码都没有给出预期的结果。

# install.packages("ggvis", dependencies = TRUE)
library(ggvis)
df <- data.frame(a=c(1, 2, 3, 1000, 10000), b=c(0.1069, 0.0278, 0.0860, 15.5640, 30.1745))
df %>% ggvis(~a, ~b)
df %>% ggvis(~a, ~b) %>% scale_numeric("x", trans="log")

请注意,使用 trans="log"时,所有点都位于图的左侧,并且刻度消失。

接下来,我想将绘图限制为某些值。我可以对数据框进行子集化,但我希望获得与plot() 中的 xlim 等效的值。

df %>% ggvis(~a, ~b) %>% scale_numeric("x", trans="linear", domain=c(10, 40))

这给出了更奇怪的结果,所以我猜我可能误解了域的作用。

感谢您的帮助!

最佳答案

我也遇到了你提到的同样的问题。

显然,ggvis的开发者也注意到了这个bug。目前这已被标记为问题。您可以在这里找到问题:https://github.com/rstudio/ggvis/issues/230

就您的问题而言:

# install.packages("ggvis", dependencies = TRUE)
library(ggvis)
df <- data.frame(a=c(1, 2, 3, 1000, 10000), b=c(0.1069, 0.0278, 0.0860, 15.5640, 30.1745))
df %>% ggvis(~a, ~b)

# Points will disapper
df %>% ggvis(~a, ~b) %>% scale_numeric("x", trans="log")
# Should work
df %>% ggvis(~a, ~b) %>% scale_numeric("x", trans="log", expand=0)

但是,您可能会注意到,转换后,刻度之间的间距看起来并不均匀。但至少这些点渲染正确。

关于r - 使用 ggvis 对数比例和限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25087831/

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