ggplot2-ROC曲线美化
2021-02-25 本文已影响0人
找兔子的小萝卜
将data整理为这样的表格
而后使用ggplot2画ROC曲线
library(ggplot2)
ggplot() +
geom_line(data = dat,aes(x = fpr_min, y = tpr_min),color = "blue",size=3) +
geom_line(aes(x=c(0,1),y=c(0,1)),color = "grey",size = 3,linetype=6 )+
theme_bw()+
annotate("text",x = .75, y = .25,
label = paste("AUC of min = ",round(auc_min,2)),color = "blue",size=10)+
scale_x_continuous(name = "1-Specificity")+
scale_y_continuous(name = "Sensitivity")+
theme(plot.title = element_text(hjust = 0.5,size = 24),
axis.text=element_text(size=24),
axis.title.x = element_text(size = 24),
axis.title.y = element_text(size = 24),
legend.title = element_text(size=24),
legend.text = element_text(size=18))
出来的ROC曲线为,字体很大很清楚。
image.pngaes(x = fpr_min, y = tpr_min),color = "blue",size=3)定义X,Y轴的值,及其处理啊的蓝色的线条的颜色和粗细。
geom_line(aes(x=c(0,1),y=c(0,1)),color = "grey",size = 3,linetype=6 )定义灰色的对角线的颜色,粗细及其线条类型,linetype有1~6个类型,选择自己觉得合适的就行。
theme_bw()+annotate("text",x = .75, y = .25, label = paste("AUC of min = ",round(auc_min,2)),color = "blue",size=10)分面之后加标注,就是显示ROC曲线下面积,x = .75, y = .25定义显示位置,label = paste("AUC of min = ",round(auc_min,2))定义显示内容,随后时颜色与字体大小。
随后剩下的代码就是定义X,Y轴的标签,及其显示坐标数字,的大小颜色等,hjust = 0.5时居中。
scale_x_continuous(name = "1-Specificity")+
scale_y_continuous(name = "Sensitivity")+
theme(plot.title = element_text(hjust = 0.5,size = 24),
axis.text=element_text(size=24),
axis.title.x = element_text(size = 24),
axis.title.y = element_text(size = 24),
legend.title = element_text(size=24),
legend.text = element_text(size=18))