Я пытался создать фигуру, похожую на одну на веб-сайте. Однако я столкнулся с более фундаментальной проблемой: в моем R-графике есть какое-то пустое пространство, от которого я бы хотел избавиться. Используется пакет pROC
. Я включил воспроизводимый пример, иллюстрирующий проблему:Белые поля в пределах участка R с использованием функции plot.roc()
library("pROC")
plot.roc(c(1, 1, 0, 0, 1), c(3, 4, 5, 6, 7), legacy.axes=TRUE)
Приведенный выше код заканчивает тем, как показано на следующем изображении:
Как вы можете увидеть, что изображение имеет много пробел между осью y и самой левой частью графика и аналогичным образом для правой стороны графика. Проблема возникла только при использовании plot.roc()
. Я даже попытался сделать сюжет, который я пытался подражать (используя предоставленный код на веб-сайте), и все еще получил другое изображение (код для изображения, описанного в первом абзаце, приведен ниже):
library(pROC)
data(aSAH)
rocobj1 <- plot.roc(aSAH$outcome, aSAH$s100, main="Statistical comparison", percent=TRUE, col="#1c61b6")
rocobj2 <- lines.roc(aSAH$outcome, aSAH$ndka, percent=TRUE, col="#008600")
testobj <- roc.test(rocobj1, rocobj2)
text(50, 50, labels=paste("p-value =", format.pval(testobj$p.value)), adj=c(0, .5))
legend("bottomright", legend=c("S100B", "NDKA"), col=c("#1c61b6", "#008600"), lwd=2)
There is no white space in the original picture that used the exact same code.
Возможно, что-то не так с настройками R, хотя проблемы продолжались, когда код запускался на втором компьютере. Кто-нибудь может помочь?
Вот ссылка на изображение, описанное в первом абзаце: http://web.expasy.org/pROC/images/comparison.png – user6668342
Причина в том, 'жерех = 1' (значение по умолчанию метода plot.roc.roc *). Он решается «plot.roc (..., asp = F)». И ошибки, возникшие в вашем коде, было бы лучше использовать 'plot.roc (..., add = T)' вместо 'lines.roc (...)'. – cuttlefish44
Это работает, спасибо! – user6668342