更改 gbm 部分图上的 x 和 y 标签

Posted

技术标签:

【中文标题】更改 gbm 部分图上的 x 和 y 标签【英文标题】:Change x and y labels on a gbm partial plot 【发布时间】:2017-03-22 15:28:32 【问题描述】:

我在更改 gbm 模型的部分图上的 x 和 y 标签时遇到问题。我需要为期刊文章重命名它们。

我读了这个并创建了如下的情节:

library(gbm)
final<- readRDS(final_gbm_model)
summary(final, n.trees=final$n.trees)

这里是总结输出:

                                                        var   rel.inf
ProbMn50ppb                                       ProbMn50ppb 11.042750
ProbDOpt5ppm                                     ProbDOpt5ppm  7.585275
Ngw_1975                                             Ngw_1975  6.314080
PrecipMinusETin_1971_2000_GWRP PrecipMinusETin_1971_2000_GWRP  4.988598
N_total                                               N_total  4.776950
DTW60YrJurgens                                 DTW60YrJurgens  4.415016
CVHM_TextZone                                   CVHM_TextZone  4.225048
RiverDist_NEAR                                 RiverDist_NEAR  4.165035
LateralPosition                               LateralPosition  4.036406
CAML1990_natural_water                 CAML1990_natural_water  3.720303
PctCoarseMFUpActLayer                   PctCoarseMFUpActLayer  3.668184
BioClim_BIO12                                   BioClim_BIO12  3.561071
MFDTWSpr2000Faunt                           MFDTWSpr2000Faunt  3.383900
PBot_krig                                           PBot_krig  3.362289
WaterUse2                                           WaterUse2  3.291040
AVG_CLAY                                             AVG_CLAY  3.280454
Age_yrs                                               Age_yrs  3.144734
MFVelSept2000                                   MFVelSept2000  3.064030
AVG_SILT                                             AVG_SILT  2.882709
ScreenLength                                     ScreenLength  2.683542
HydGrp_C                                             HydGrp_C  2.666106
AVG_POR                                               AVG_POR  2.563147
MFVelFeb2000                                     MFVelFeb2000  2.505106
HiWatTabDepMin                                 HiWatTabDepMin  2.421521
RechargeAnnualmmWolock                 RechargeAnnualmmWolock  2.252706

我可以如下创建一个部分依赖图:

plot(final,"ProbMn50ppb",n.trees=final$n.trees)

但是,如果我尝试设置标签参数,则会出现以下错误:

 plot(final,"ProbMn50ppb",n.trees=final$n.trees,ylab="LNNO3")

Error in plot.default(X$X1, X$y, type = "l", xlab = x$var.names[i.var],  : 
  formal argument "ylab" matched by multiple actual arguments

如何更改 y 轴和 x 轴标签?

【问题讨论】:

感谢您尝试提供您的数据,但我们不允许个人云链接,因为存在恶意软件并且它们会随着时间的推移而中断。此外,作为一种最佳做法,为了避免文件损坏,我建议您为 RDS 文件提供“.RDS”的扩展名。 好的,谢谢!有没有更好的方法来提供这样的数据? 通常最好在您的代码中重新创建您可以创建的内容,并dput() 任何其他内容。这样它就很容易重现并包含所有类/元数据。 【参考方案1】:

plot.gbm 函数将自己的名称传递给通用绘图函数,因此两者发生冲突。因此,您将无法在该模式下以您想要的方式自定义绘图。但是当您设置return.grid=TRUE 时,作者确实提供了一个替代方案。它不会构建绘图,而是会输出数据本身。然后,您可以将其用于任何绘图,包括 ggplot2。

plotdata <- plot(gbm1, return.grid=TRUE)
plot(plotdata, type="l", ylab="ylab", xlab="xlab")

帮助(gbm)中的示例数据

【讨论】:

这比我想到的解决方案要好得多,那就是修改源代码(因为plot.gbm包括默认实验室和...,这就是问题所在) .【参考方案2】:

您还可以在绘图之前(或在函数中)更改 gbm 对象本身:

your_gbm_obj$var.names[index] = "axis label"

【讨论】:

以上是关于更改 gbm 部分图上的 x 和 y 标签的主要内容,如果未能解决你的问题,请参考以下文章

在条形图上的 Plotly 中更改轴/图例名称

更改堆积图上的标签

如何在 R 中更改网络图上的标签?

Matplotlib 在所有子图上显示 x-ticks 和唯一的 y 标签

使用gbm.plot(dismo)和partial(pdp)时,部分依赖图的差异,为什么?

修改顶部ggplot百分比条形图上的文本标签