diff --git a/dvc/repo/plots/__init__.py b/dvc/repo/plots/__init__.py
--- a/dvc/repo/plots/__init__.py
+++ b/dvc/repo/plots/__init__.py
@@ -43,7 +43,9 @@ def collect(self, targets=None, revs=None):
             plots = _collect_plots(self.repo, targets, rev)
             for path_info, props in plots.items():
                 datafile = relpath(path_info, self.repo.root_dir)
-                data[rev] = {datafile: {"props": props}}
+                if rev not in data:
+                    data[rev] = {}
+                data[rev].update({datafile: {"props": props}})
 
                 # Load data from git or dvc cache
                 try:

diff --git a/tests/func/plots/test_plots.py b/tests/func/plots/test_plots.py
--- a/tests/func/plots/test_plots.py
+++ b/tests/func/plots/test_plots.py
@@ -585,3 +585,24 @@ def test_plots_modify_not_existing_template(dvc):
         dvc.plots.modify(
             "metric.json", props={"template": "not-existing-template.json"}
         )
+
+
+def test_multiple_plots(tmp_dir, scm, dvc, run_copy_metrics):
+    metric1 = [
+        OrderedDict([("first_val", 100), ("second_val", 100), ("val", 2)]),
+        OrderedDict([("first_val", 200), ("second_val", 300), ("val", 3)]),
+    ]
+    metric2 = [
+        OrderedDict([("first_val", 100), ("second_val", 100), ("val", 2)]),
+        OrderedDict([("first_val", 200), ("second_val", 300), ("val", 3)]),
+    ]
+    _write_csv(metric1, "metric_t1.csv")
+    _write_json(tmp_dir, metric2, "metric_t2.json")
+    run_copy_metrics(
+        "metric_t1.csv", "metric1.csv", plots_no_cache=["metric1.csv"]
+    )
+    run_copy_metrics(
+        "metric_t2.json", "metric2.json", plots_no_cache=["metric2.json"]
+    )
+
+    assert len(dvc.plots.show().keys()) == 2

plots show unable to handle multiple aruments
In my [test repository](https://github.com/pared/plot_test) I am unable to plot multiple targets.
running `dvc plots show` yields plot with only last plot present in `dvc.yaml`. Specifying,
like `dvc plot show roc.csv loss_over_time.json` yields error:
`ERROR: unexpected error - 'roc.csv'`

tests/func/plots/test_plots.py::test_multiple_plots
tests/func/plots/test_plots.py::test_plot_csv_one_column tests/func/plots/test_plots.py::test_plot_csv_multiple_columns tests/func/plots/test_plots.py::test_plot_csv_choose_axes tests/func/plots/test_plots.py::test_plot_json_single_val tests/func/plots/test_plots.py::test_plot_json_multiple_val tests/func/plots/test_plots.py::test_plot_confusion tests/func/plots/test_plots.py::test_plot_multiple_revs_default tests/func/plots/test_plots.py::test_plot_multiple_revs tests/func/plots/test_plots.py::test_plot_even_if_metric_missing tests/func/plots/test_plots.py::test_throw_on_no_metric_at_all tests/func/plots/test_plots.py::test_custom_template tests/func/plots/test_plots.py::test_no_plots tests/func/plots/test_plots.py::test_should_raise_on_no_template tests/func/plots/test_plots.py::test_plot_wrong_metric_type tests/func/plots/test_plots.py::test_plot_choose_columns tests/func/plots/test_plots.py::test_plot_default_choose_column tests/func/plots/test_plots.py::test_plot_yaml tests/func/plots/test_plots.py::test_raise_on_wrong_field tests/func/plots/test_plots.py::test_load_metric_from_dict_json tests/func/plots/test_plots.py::test_load_metric_from_dict_yaml tests/func/plots/test_plots.py::test_plots_modify_existing_template tests/func/plots/test_plots.py::test_plots_modify_should_not_change_lockfile tests/func/plots/test_plots.py::test_plots_modify_not_existing_template