我在包fitdist
中使用函数fitdistrplus
来获得适合我的数据的最佳分布并绘制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"))
到目前为止一切顺利!但是看看图片的左下角,有一些空间,或者轴不是从零开始的!
所以我用Google搜索并找到两种方法:
使用基础图中的一种方法xaxs
和yaxs
。
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))
使用了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))
所以我尝试使用这两种方法来绘制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")
那么,我应该怎么做才能在没有错误的情况下完成目标,或者什么是正确的代码?
答案 0 :(得分:1)
问题似乎是...
(接受额外参数)中的ppcomp
参数被赋予plot
和legend
以及legend
不知道如何处理xaxs
。
选项包括:
1)使用ppcomp
运行xaxs
,这将生成图表,然后单独添加legend
。
2)使用fix(ppcomp)
从...
命令中删除legend
。
3)重新编码ppcomp
以使用ggplot
并根据需要设置选项。