Modify display properties of plot metrics files.
⚠️ Note that this command can modify only data-series plots. It has no effect on image-type plots. See Types of metrics.
usage: dvc plots modify [-h] [-q | -v] [-t <name_or_path>] [-x <field>] [-y <field>] [--no-header] [--title <text>] [--x-label <text>] [--y-label <text>] [--unset [<property> [<property> ...]]] target positional arguments: target Metrics file to set properties to
It might be not convenient for users or automation systems to specify all the
display properties (such as
title, etc.) each time
plots are generated with
dvc plot show or
dvc plot diff. This command sets
(or unsets) default display properties for a specific metrics file.
-t <name_or_path>, --template <name_or_path> - set a default
-x <field> - set a default field or column name (or number) from which the X
axis data comes from.
-y <field> - set a default field or column name (or number) from which the Y
axis data comes from.
--x-label <text> - set a default title for the X axis.
--y-label <text> - set a default title for the Y axis.
--title <text> - set a default plot title.
--unset [<property> [<property> ...]] - unset one or more display
properties. Use the property name(s) without
-- in the argument sent to this
--no-header - lets DVC know that the
target CSV or TSV does not have a
header. A 0-based numeric index can be used to identify each column instead of
--help - prints the usage/help message, and exit.
--quiet - do not write anything to standard output. Exit with 0 if no
problems arise, otherwise 1.
--verbose - displays detailed tracing information.
The initial plot was showing the last column of CSV file by default which is loss metrics while accuracy is expected as Y axis:
epoch,accuracy,loss 0,0.9403833150863647,0.2019129991531372 1,0.9733833074569702,0.08973673731088638 2,0.9815833568572998,0.06529958546161652 3,0.9861999750137329,0.04984375461935997 4,0.9882333278656006,0.041892342269420624
$ dvc plots show logs.csv file:///Users/usr/src/myclassifier/logs.html
Changing the y-axis to accuracy:
$ dvc plots modify logs.csv -y accuracy $ dvc plots show logs.csv file:///Users/usr/src/myclassifier/logs.html
Note, a new field y was added to
dvc.yaml file for the plot. Please do not
forget to commit the change in Git if the modification needs to be preserved.
plots: - logs.csv: cache: false y: accuracy
Changing the plot
$ dvc plots modify logs.csv --title Accuracy -x epoch --x-label Epoch $ dvc plots show logs.csv file:///Users/usr/src/myclassifier/logs.html
Two new fields were added to
plots: - plots.csv: cache: false y: accuracy x_label: epoch title: Accuracy
dvc run —plots file.csv … command assign the default template that needs to be changed in many cases. A simple command changes the template:
$ dvc plots modify classes.csv --template confusion
Let's take an example
evaluate stage which has
logs.csv as an output. We can
dvc plots modify to convert the
logs.csv output file into a plots file,
and then confirm the changes that happened in
$ dvc plots modify logs.csv
evaluate: cmd: python src/evaluate.py deps: - src/evaluate.py - outs: - - logs.csv plots: - scores.json + - logs.csv