首页 > 解决方案 > 从 R 包标准修改 `pr_curve` 和 `auc_curve` 的图形大小

问题描述

我正在尝试使用库“标准”生成 ROC 曲线和精确召回曲线。但是,我找不到修改图形形状的方法。这是一个玩具示例。

## Precision-recall curve
data.frame(true = as.factor(rep(c(0,1), 10)), 
           pred = runif(20)) %>% 
  pr_curve(truth = true, pred) %>% 
  autoplot()

## ROC curve
data.frame(true = as.factor(rep(c(0,1), 10)), 
           pred = runif(20)) %>% 
  roc_curve(truth = true, pred) %>% 
  autoplot()

运行代码时,生成的图形如下所示; 在此处输入图像描述 在此处输入图像描述

上图(ROC 曲线)是正方形,而下图(精确召回曲线)是矩形。

我试过

但找不到使两个图形具有相同形状的好方法。

我怎样才能统一它们的形状(或形式)?

任何评论将不胜感激。

标签: rggplot2yardstick

解决方案


coord_fixed()从 ggplot2 可以解决问题。请注意,如果您希望绘图区域为正方形,您还需要进行xlim调整ylim

pr_curve(tmp1, truth = true, pred) %>% 
    autoplot() +
    coord_fixed(xlim = 0:1, ylim = 0:1)

推荐阅读