在 GitHub 上编辑

plots diff

通过将多个版本的图表叠加在一张图像中,展示其差异。这便于直观比较。

概要

usage: dvc plots diff [-h] [-q | -v]
                      [--targets [<paths> [<paths> ...]]]
                      [-t <name_or_path>] [-x <field>] [-y <field>]
                      [--no-header] [--title <text>]
                      [--x-label <text>] [--y-label <text>] [-o <path>]
                      [--show-vega] [--open] [--html-template <path>]
                      [revisions [revisions ...]]

positional arguments:
  revisions             Git commits to find metrics to compare

描述

该命令通过将仓库不同版本中的特定指标叠加在单个图表中,可视化其“差异”。

请注意,与dvc metrics diff不同,此命令不会计算图表文件值之间的数值差异。

revisions 是 Git 提交哈希、标签或分支名称。若未指定任何版本,dvc plots diff 将比较当前工作区中的图表(未提交的更改)与其最新提交版本(必需)。指定单个版本时,将比较工作区与该版本。

💡 注意,可以提供任意数量的 revisions(生成的图表会将所有版本叠加在一张图像中)。

默认使用 dvc.yaml 中定义的所有图表,但可通过 --targets 选项指定特定文件(支持任何有效的图表文件)。

可通过 图表模板--template 选项自定义图表样式。有关图表文件和模板的更多信息,请参阅 dvc plots

另一种显示图表的方式是 dvc plots show 命令,它仅列出当前所有图表,不进行比较。

选项

  • --targets <paths> - 要可视化的特定图表文件。接受任何有效图表文件的 paths,无论 dvc.yaml 是否正在跟踪其中的图表。

    当在 revisions 之前指定 --targets 的参数时,应在该选项参数后使用 --,例如:

    $ dvc plots diff --targets t1.json t2.csv -- HEAD v1 v2
  • -o <路径>, --out <路径> - 指定用于写入包含图表的 HTML 文件的目录。默认为 dvc_plots,或由 plots.out_dir 配置选项设置的值。

  • -t <名称或路径>, --template <名称或路径> - 要注入数据的 图表模板。默认模板为 .dvc/plots/default.json。更多详情请参见 dvc plots

  • -x <field> - X 轴数据来源的字段名。默认使用自动生成的 index 字段。有关此 index 字段的更多信息,请参阅 自定义模板。对于表格型指标文件,需提供列名或编号。

  • -y <field> - Y 轴数据来源的字段名。默认使用 --targets 中找到的最后一个字段。对于表格型指标文件,需提供列名或编号。

  • --x-label <文本> - X 轴标签。默认为 X 字段名称。

  • --y-label <文本> - Y 轴标签。默认为 Y 字段名称。

  • --title <文本> - 图表标题。

  • --show-vega - 生成 Vega-Lite 规范文件而非 HTML 文件。更多信息请参见 dvc plots

  • --open - 自动在浏览器中打开生成的 HTML 文件。您可通过启用 dvc config plots.auto_open 使其成为默认行为。

  • --no-header - 告知 DVC CSV 或 TSV 格式的 --targets 文件不含表头。此时可使用从 0 开始的数字索引代替列名来标识各列。

  • --html-template <路径> - 自定义 HTML 模板 的路径。

  • -h, --help - 打印使用说明/帮助信息,然后退出。

  • -q, --quiet - 不向标准输出写入任何内容。如果没有问题则以 0 退出,否则以 1 退出。

  • -v, --verbose - 显示详细的跟踪信息。

示例

比较某个指标文件的未提交更改与其最新提交版本:

$ dvc plots diff --targets logs.csv --x-label x
file:///Users/usr/src/dvc_plots/index.html

注意,我们使用选项 --x-label x 重命名了 X 轴标签。

比较两个特定版本(提交哈希、标签或分支):

$ dvc plots diff HEAD^ 0135527 --targets logs.csv
file:///Users/usr/src/dvc_plots/index.html

示例:混淆矩阵

本示例将使用表格型指标文件 classes.csv

predicted,actual
cat,cat
cat,cat
cat,cat
dog,cat
dinosaur,cat
dinosaur,cat
bird,cat
dog,turtle
cat,turtle
...

预定义的混淆矩阵模板(位于 .dvc/plots/confusion.json)展示了如何通过独立图表对指标比较进行分面处理。可通过 -t--template)启用:

$ dvc plots diff -t confusion --targets classes.csv -x predicted
file:///Users/usr/src/test/dvc_plots/index.html

内容

🐛 发现问题?告诉我们!或者修复它:

在 GitHub 上编辑

有疑问?加入我们的聊天,我们会为您提供帮助:

Discord 聊天