gpt4 book ai didi

r - 如何使轴从 R 中的包 fitdistrplus 中的零开始

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

我使用 fitdistrplus 包中的函数 fitdist 来获得适合我的数据的最佳分布并绘制 ppcomp 图,我使用示例?fitdistrplus 的代码来替换我的数据和代码。

data(groundbeef)
serving <- groundbeef$serving
fitW <- fitdist(serving, "weibull")
fitg <- fitdist(serving, "gamma")
fitln <- fitdist(serving, "lnorm")
ppcomp(list(fitW, fitg, fitln), legendtext=c("Weibull", "gamma", "lognormal"))

ppcomp

到目前为止一切顺利!但是看左下图,有空位,或者坐标轴不是从零开始的!

于是我google了一下,找到了两种方法:base plot中的一种方法,xaxsyaxs被使用。

set.seed(1234)
x <- runif(100, min=0, max=100)
y <- runif(100, min=0, max=100)
plot(x,y,xaxs="i",yaxs="i",xlim=c(0,100),ylim=c(0,100))

base plot

使用ggplot2中的另一种方法,expand=c(0,0)

df <- data.frame(x=x,y=y)
ggplot(df,aes(x,y)) + geom_point() + scale_x_continuous(expand = c(0,0)) + scale_y_continuous(expand = c(0,0))

expand

所以我尝试用这两种方法绘制ppcomp图,

ppcomp(list(fitW, fitg, fitln), legendtext=c("Weibull", "gamma", "lognormal"),xaxs="i",yaxs="i")

但出现错误:

Error in legend(x = xlegend, y = ylegend, bty = "n", legend = legendtext,  : 
unused arguments (xaxs = "i", yaxs = "i")

那么,我应该怎么做才能不报错地完成目标,或者正确的代码是什么?

最佳答案

问题似乎是 ppcomp 中的 ... 参数(它接受额外的参数)被赋予了 plotlegendlegend 不知道如何处理 xaxs

选项是:

1) 使用xaxs 运行ppcomp,这将生成绘图,然后单独添加图例

2) 使用fix(ppcomp)legend 命令中删除...

3) 重新编码 ppcomp 以使用 ggplot 并根据需要设置选项。

关于r - 如何使轴从 R 中的包 fitdistrplus 中的零开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38177612/

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