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