绘图模板
列出内置的绘图模板,或显示某个模板的 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.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