From e2cb111c55b04f234d57a9c1794e12a998dfcaf6 Mon Sep 17 00:00:00 2001 From: Terence Parr Date: Thu, 10 Mar 2022 11:54:06 -0800 Subject: [PATCH] Fixes #179. Match any "scale(w h)" and replace with scale parameter for both. Version to 1.3.5 quick fix --- dtreeviz/utils.py | 5 ++++- setup.py | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/dtreeviz/utils.py b/dtreeviz/utils.py index 5d340f75..14695edc 100644 --- a/dtreeviz/utils.py +++ b/dtreeviz/utils.py @@ -1,3 +1,4 @@ +import re import xml.etree.cElementTree as ET import pandas as pd from numbers import Number @@ -109,7 +110,9 @@ def scale_SVG(svg:str, scale:float) -> str: ns = {"svg": "http://www.w3.org/2000/svg"} graph = root.find(".//svg:g", ns) # get first node, which is graph transform = graph.attrib['transform'] - transform = transform.replace('scale(1 1)', f'scale({scale} {scale})') + pattern = re.compile(f"scale\([0-9.]+\ [0-9.]+\)") + scale_str = pattern.search(transform).group() + transform = transform.replace(scale_str, f'scale({scale} {scale})') graph.set("transform", transform) ET.register_namespace('', "http://www.w3.org/2000/svg") diff --git a/setup.py b/setup.py index 0ddf4fb7..ebe60762 100644 --- a/setup.py +++ b/setup.py @@ -4,7 +4,7 @@ setup( name='dtreeviz', - version='1.3.4', + version='1.3.5', url='https://github.com/parrt/dtreeviz', license='MIT', packages=find_packages(),