绘图模板
列出内置的绘图模板,或显示某个模板的 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 数组,并替换此占位符。系统将自动添加两个额外字段:step和rev(详见下文)。
可选
-
<DVC_METRIC_TITLE>- 绘图标题,可通过 字段title在dvc.yaml中定义,或通过dvc plots子命令的--title选项设置。 -
<DVC_METRIC_X>- X 轴数据的字段名。可通过 字段x在dvc.yaml中定义,或通过dvc plots子命令的-x选项设置。默认为自动生成的step字段(见下文)。 -
<DVC_METRIC_Y>- Y 轴数据的字段名。可通过 字段y在dvc.yaml中定义,或通过dvc plots子命令的-y选项设置。默认为指标文件的最后一列标题:CSV/TSV 文件的最后一列,或 JSON/YAML 文件的最后一个字段。 -
<DVC_METRIC_X_LABEL>- 用作 X 轴标签的字段名。可通过 字段x_label在dvc.yaml中定义,或通过dvc plots子命令的--x-label选项设置。 -
<DVC_METRIC_Y_LABEL>- 用作 Y 轴标签的字段名。可通过 字段y_label在dvc.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 show 和 dvc plots diff 的文件目标被视为独立的数据系列,每个系列将被注入到模板文件中。DVC 会在绘图数据中添加两个重要字段:
-
step- 数据行/值的从零开始的计数器。在许多情况下,它对应于机器学习训练的轮次编号。 -
rev- 此字段用于区分来自不同版本、文件或列的数据。
示例:修改 simple 模板
内置的 simple 模板可作为自定义模板的理想基础,因其结构简洁,便于快速修改。例如,我们希望用垂直条形图代替连接线。
我们将使用以下 data.csv 文件:
y
0.1
0.4
0.9
1.6simple 模板将其渲染为如下形式:
$ 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