diff --git a/diagrams/__init__.py b/diagrams/__init__.py index 062ecae2..b91d1c49 100644 --- a/diagrams/__init__.py +++ b/diagrams/__init__.py @@ -479,8 +479,12 @@ class Node: return uuid.uuid4().hex def _load_icon(self): - basedir = Path(os.path.abspath(os.path.dirname(__file__))) - return os.path.join(basedir.parent, self._icon_dir, self._icon) + if self._icon_dir is None or not self._icon_dir.startswith(os.path.sep): + basedir = Path(os.path.abspath(os.path.dirname(__file__))) + return os.path.join(basedir.parent, self._icon_dir, self._icon) + else: + return os.path.join(self._icon_dir, self._icon) + class Edge: