如何更改ggroc函数的图例说明?

如何更改ggroc函数的图例说明?,r,ggplot2,roc,R,Ggplot2,Roc,我正在尝试将多个ROC值合并到一个图中,到目前为止,我已经成功地做到了这一点。然而,我很难改变传说 roc.list <- list(roc_obj,roc_objL,roc_objR) ggroc(roc.list, aes = c("linetype"),legacy.axes = TRUE) + labs(x = "1 - Specificity", y = "Sensitivity") + theme_classic() +geom_abline()

我正在尝试将多个ROC值合并到一个图中,到目前为止,我已经成功地做到了这一点。然而,我很难改变传说

roc.list <- list(roc_obj,roc_objL,roc_objR)

ggroc(roc.list, aes = c("linetype"),legacy.axes = TRUE) + 
              labs(x = "1 - Specificity", y = "Sensitivity") + theme_classic() +geom_abline()
我希望输出图像图例的主标题分别为“角度测量”和“平均角度”、“左角度”、“右角度”到1、2和3个图例


谢谢

您可以使用
ggtitle
添加标题,并围绕您的曲线列表播放一点,以完成其余部分:

library(pROC)
library(ggplot2)

# Create a basic roc object
data(aSAH)
rocobj1 <- roc(aSAH$outcome, aSAH$s100b)
rocobj2 <- roc(aSAH$outcome, aSAH$wfns)
rocobj3 <- roc(aSAH$outcome, aSAH$ndka)
roclist <- list("First ROC" = rocobj1,
                "Second ROC" = rocobj2,
                "Third ROC" = rocobj3)

g <- ggroc(roclist, aes = "linetype", legacy.axes = TRUE) +
  geom_abline() +
  theme_classic() +
  ggtitle("The new title") +
  labs(x = "1 - Specificity",
       y = "Sensitivity",
       linetype = "Different legend title")
g
库(pROC)
图书馆(GG2)
#创建一个基本roc对象
数据(aSAH)

rocobj1您可以使用
ggtitle
添加标题,并使用您的曲线列表播放一点,以完成其余部分:

library(pROC)
library(ggplot2)

# Create a basic roc object
data(aSAH)
rocobj1 <- roc(aSAH$outcome, aSAH$s100b)
rocobj2 <- roc(aSAH$outcome, aSAH$wfns)
rocobj3 <- roc(aSAH$outcome, aSAH$ndka)
roclist <- list("First ROC" = rocobj1,
                "Second ROC" = rocobj2,
                "Third ROC" = rocobj3)

g <- ggroc(roclist, aes = "linetype", legacy.axes = TRUE) +
  geom_abline() +
  theme_classic() +
  ggtitle("The new title") +
  labs(x = "1 - Specificity",
       y = "Sensitivity",
       linetype = "Different legend title")
g
库(pROC)
图书馆(GG2)
#创建一个基本roc对象
数据(aSAH)
我第一次在这里回答。
您可以(1)以您想要的方式命名列表元素或(2)添加

对于图例标题,您需要指出正确的图例。在您的情况下是线型,而不是填充

labs(x = "1 - Specificity", y = "Sensitivity", linetype="Gonial Angle Measurement"))
我想这个代码会对你有帮助

library(pROC)
library(ggplot2)

roc.list <- roc(outcome ~ s100b + ndka + wfns, data = aSAH)
g.list <- ggroc(roc.list)

ggroc(roc.list, aes = c("linetype"), legacy.axes = TRUE)+ 
  labs(x = "1 - Specificity", y = "Sensitivity", linetype="Gonial Angle Measurement") + 
  scale_linetype_discrete(labels=c("Mean Gonial","Gonial Angle Left","Gonial Angle Right"))+
  theme_classic() +
  geom_abline()
库(pROC)
图书馆(GG2)
我第一次在这里回答。
您可以(1)以您想要的方式命名列表元素或(2)添加

对于图例标题,您需要指出正确的图例。在您的情况下是线型,而不是填充

labs(x = "1 - Specificity", y = "Sensitivity", linetype="Gonial Angle Measurement"))
我想这个代码会对你有帮助

library(pROC)
library(ggplot2)

roc.list <- roc(outcome ~ s100b + ndka + wfns, data = aSAH)
g.list <- ggroc(roc.list)

ggroc(roc.list, aes = c("linetype"), legacy.axes = TRUE)+ 
  labs(x = "1 - Specificity", y = "Sensitivity", linetype="Gonial Angle Measurement") + 
  scale_linetype_discrete(labels=c("Mean Gonial","Gonial Angle Left","Gonial Angle Right"))+
  theme_classic() +
  geom_abline()
库(pROC)
图书馆(GG2)

欢迎约翰。您可以通过提供可运行的完整示例代码来改进答案。特别是,在几乎所有代码块中,似乎都有奇数个圆括号。如果不是只隔离代码的一部分,您会注意到的。谢谢您的反馈。编辑后是否更好?如果我运行您的代码,我会得到一个错误:roc中的错误(结果~s100b+ndka+wfns,data=aSAH):找不到函数“roc”,您还可以提供一个如何实现选项(1)的示例。无需在此网站上用“编辑”标记您的编辑:尽可能地将它们集成到您的答案中(如果有人想查看更改的内容,问题和答案都有历史记录)。欢迎Johannes。您可以通过提供可运行的完整示例代码来改进答案。特别是,在几乎所有代码块中,似乎都有奇数个圆括号。如果不是只隔离代码的一部分,您会注意到的。谢谢您的反馈。编辑后是否更好?如果我运行您的代码,我会得到一个错误:roc中的错误(结果~s100b+ndka+wfns,data=aSAH):找不到函数“roc”,您还可以提供一个如何实现选项(1)的示例。无需在此网站上用“编辑”标记您的编辑:尽可能将它们集成到您的答案中(如果有人想查看更改的内容,问题和答案都有历史记录)。欢迎使用stack overflow Rizky。为了提高问题的质量,您应该提供一个每个人都可以直接运行的最小重复性示例,如中所述。这将消除您正在使用的包的歧义,因为R和ggplot 2都没有ggroc函数。。。但是其他一些包可以,比如ggROC或pROC。如果没有您使用的完整代码,我们只能猜测您使用了哪一个,因此您将得到质量较低的答案。谢谢您的反馈,Calimo。我将尝试编辑这个问题。欢迎来到stack overflow Rizky。为了提高问题的质量,您应该提供一个每个人都可以直接运行的最小重复性示例,如中所述。这将消除您正在使用的包的歧义,因为R和ggplot 2都没有ggroc函数。。。但是其他一些包可以,比如ggROC或pROC。如果没有您使用的完整代码,我们只能猜测您使用了哪一个,因此您将得到质量较低的答案。谢谢您的反馈,Calimo。我将尝试编辑问题。您应该澄清OP的实际答案是以您填写的方式填写的
roclist
ggtitle
位很好,但不是实际询问的内容。感谢您的反馈,我将在下次提问时使用它,并在需要时帮助他人。您应该澄清OP的实际答案是以您填写
roclist
的方式。
ggtitle
位很好,但不是实际询问的内容。感谢您的反馈,我下次提问时会使用它,并在需要时帮助他人。