From 2ac300c8b2443072df9c4dc2672929cfa85635b9 Mon Sep 17 00:00:00 2001 From: thomashacker Date: Tue, 14 Feb 2023 13:49:13 +0100 Subject: [PATCH] Add title to dep visualizations --- spacy/displacy/render.py | 2 ++ spacy/tests/test_displacy.py | 1 + website/docs/api/top-level.mdx | 1 + 3 files changed, 4 insertions(+) diff --git a/spacy/displacy/render.py b/spacy/displacy/render.py index 47407bcb7..758dc07d5 100644 --- a/spacy/displacy/render.py +++ b/spacy/displacy/render.py @@ -313,6 +313,8 @@ class DependencyRenderer: self.lang = settings.get("lang", DEFAULT_LANG) render_id = f"{id_prefix}-{i}" svg = self.render_svg(render_id, p["words"], p["arcs"]) + if p.get("title"): + svg = TPL_TITLE.format(title=p.get("title")) + svg rendered.append(svg) if page: content = "".join([TPL_FIGURE.format(content=svg) for svg in rendered]) diff --git a/spacy/tests/test_displacy.py b/spacy/tests/test_displacy.py index 773089677..e9b5a9aba 100644 --- a/spacy/tests/test_displacy.py +++ b/spacy/tests/test_displacy.py @@ -364,6 +364,7 @@ def test_displacy_render_manual_dep(): {"start": 2, "end": 3, "label": "det", "dir": "left"}, {"start": 1, "end": 3, "label": "attr", "dir": "right"}, ], + "title": "Title", } html = displacy.render([parsed_dep], style="dep", manual=True) for word in parsed_dep["words"]: diff --git a/website/docs/api/top-level.mdx b/website/docs/api/top-level.mdx index c29ae93a3..ba5619172 100644 --- a/website/docs/api/top-level.mdx +++ b/website/docs/api/top-level.mdx @@ -374,6 +374,7 @@ displaCy's different data formats below. | `words` | List of dictionaries describing a word token (see structure below). ~~List[Dict[str, Any]]~~ | | `arcs` | List of dictionaries describing the relations between words (see structure below). ~~List[Dict[str, Any]]~~ | | _Optional_ | | +| `title` | Title of the visualization. ~~Optional[str]~~ | | `settings` | Dependency Visualizer options (see [here](/api/top-level#displacy_options)). ~~Dict[str, Any]~~ |