From 8950fd60a0b62ff92d8f04cf7c49a37666d8f4e3 Mon Sep 17 00:00:00 2001
From: daxid <david.rouquet@tetras-libre.fr>
Date: Sat, 18 Mar 2023 07:51:58 +0000
Subject: [PATCH] Better control of width in svg graphs

---
 selfContainedDemo.ipynb | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/selfContainedDemo.ipynb b/selfContainedDemo.ipynb
index ef04eb2..b6124c9 100644
--- a/selfContainedDemo.ipynb
+++ b/selfContainedDemo.ipynb
@@ -27,6 +27,7 @@
     "from jupyter_dash import JupyterDash as Dash\n",
     "from dash.dependencies import Input, Output, State\n",
     "import base64\n",
+    "import xml.etree.ElementTree as ET\n",
     "\n",
     "AMR_BATCH_PATH = \"/opt/lib/TetrasMARS/amrbatch/\"\n",
     "sys.path.insert(0, os.path.abspath(AMR_BATCH_PATH))\n",
@@ -111,11 +112,18 @@
     "    \n",
     "def localImage2htmlImg(imgPath):\n",
     "    with open(imgPath, \"rb\") as image_file:\n",
-    "        img_data = base64.b64encode(image_file.read())\n",
+    "        imageStr = image_file.read()\n",
+    "        root = ET.fromstring(imageStr)\n",
+    "        widthInt = int(root.attrib['width'].replace(\"pt\",\"\"))\n",
+    "        if widthInt > 1700 :\n",
+    "            widthStr = \"100%\"\n",
+    "        else:\n",
+    "            widthStr = str(widthInt)+\"pt\"\n",
+    "        img_data = base64.b64encode(imageStr)\n",
     "        img_data = img_data.decode()\n",
     "        img_data = \"data:image/svg+xml;base64,{}\".format(img_data)\n",
     "        # ...\n",
-    "        return html.Img(id=\"tag_id\", src=img_data, width=\"100%\", height=\"100%\", className=\"img_class\")#, alt=\"my image\""
+    "        return html.Img(id=\"tag_id\", src=img_data, width=widthStr, height=\"100%\", className=\"img_class\")#, alt=\"my image\""
    ]
   },
   {
-- 
GitLab