在 GitHub 上编辑

绘图模板

列出内置的绘图模板,或显示某个模板的 JSON 规范,以便保存和自定义。

概要

usage: dvc plots templates [-h] [-q | -v] [template]

positional arguments:
 template    Template for which to show JSON specification.
             List all template names by default.

描述

默认情况下,列出所有可用内置模板的名称。

有时您可能需要自定义 dvc plots 的渲染方式,超出内置 绘图模板 的能力范围。您可以通过提供模板名称作为参数来获取特定内置模板的 JSON 规范,例如 dvc plots templates confusion。要修改它们,请使用任何有效的 Vega-Lite 规范 元素。

请注意,模板仅可用于 数据序列绘图

自定义模板

绘图模板是 Vega-Lite JSON 规范。将自定义模板保存为 JSON 文件,置于 .dvc/plots 目录下,例如 .dvc/plots/custom.json。之后您可以通过 dvc plots show --template custom 引用该自定义模板。在 dvc.yaml 中,您可以设置 template: custom

模板使用预定义的 DVC 占位符,供 DVC 注入绘图数据。

必需

  • <DVC_METRIC_DATA> - 来自任意类型指标文件的绘图数据会被转换为单个 JSON 数组,并替换此占位符。系统将自动添加两个额外字段: steprev(详见下文)。

可选

  • <DVC_METRIC_TITLE> - 绘图标题,可通过 字段 titledvc.yaml 中定义,或通过 dvc plots 子命令的 --title 选项设置。

  • <DVC_METRIC_X> - X 轴数据的字段名。可通过 字段 xdvc.yaml 中定义,或通过 dvc plots 子命令的 -x 选项设置。默认为自动生成的 step 字段(见下文)。

  • <DVC_METRIC_Y> - Y 轴数据的字段名。可通过 字段 ydvc.yaml 中定义,或通过 dvc plots 子命令的 -y 选项设置。默认为指标文件的最后一列标题:CSV/TSV 文件的最后一列,或 JSON/YAML 文件的最后一个字段。

  • <DVC_METRIC_X_LABEL> - 用作 X 轴标签的字段名。可通过 字段 x_labeldvc.yaml 中定义,或通过 dvc plots 子命令的 --x-label 选项设置。

  • <DVC_METRIC_Y_LABEL> - 用作 Y 轴标签的字段名。可通过 字段 y_labeldvc.yaml 中定义,或通过 dvc plots 子命令的 --y-label 选项设置。

  • <DVC_METRIC_COLOR> - 用于通过为版本映射应用静态颜色,跨多个图表分组实验/提交信息。在使用 dvc plots 子命令时,该映射会自动生成,但也可在 VS Code 的 DVC 扩展 和 DVC Studio 的用户界面中手动选择。

  • <DVC_METRIC_PLOT_HEIGHT> - 由 VS Code 扩展/Studio 使用,用于动态调整图表的高度。

  • <DVC_METRIC_PLOT_WIDTH> - 由 VS Code 扩展/Studio 使用,用于动态调整图表的宽度。

请参阅默认模板,了解如何使用这些锚点的示例。

传递给 dvc plots showdvc plots diff 的文件目标被视为独立的数据系列,每个系列将被注入到模板文件中。DVC 会在绘图数据中添加两个重要字段:

  • step - 数据行/值的从零开始的计数器。在许多情况下,它对应于机器学习训练的轮次编号。

  • rev - 此字段用于区分来自不同版本、文件或列的数据。

示例:修改 simple 模板

内置的 simple 模板可作为自定义模板的理想基础,因其结构简洁,便于快速修改。例如,我们希望用垂直条形图代替连接线。

我们将使用以下 data.csv 文件:

y
0.1
0.4
0.9
1.6

simple 模板将其渲染为如下形式:

$ dvc plots show data.csv --template simple
file:///Users/usr/src/dvc_plots/index.html

我们将 simple 模板导出为 bars_template.json

$ mkdir .dvc/plots
$ dvc plots templates simple > .dvc/plots/bars_template.json

现在,修改 bars_template.json 文件,使其显示条形图(而非线条):

 {
   "$schema": "https://vega.github.io/schema/vega-lite/v5.json",
   ...
   "mark": {
-    "type": "line"
+    "type": "bar"
   },
   "encoding": { ...
   ...
 }

使用我们的自定义模板后,数据呈现如下:

$ dvc plots show data.csv --template bars_template
file:///Users/usr/src/dvc_plots/index.html

内容

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

在 GitHub 上编辑

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

Discord 聊天