#!/usr/bin/env python # coding: utf-8 # In[1]: get_ipython().run_line_magic('cd', '-q ..') import graphviz graphviz.__version__, graphviz.version() # In[2]: def make_graph(node_label=None, graph_name=None, **node_kwargs): result = graphviz.Digraph(name=graph_name) result.node('A', label=node_label, **node_kwargs) print(result) return result # In[3]: make_graph(node_label='"') # In[4]: make_graph(node_label='\\"') # In[5]: try: make_graph(node_label='\\').pipe(format='svg', encoding='utf-8'); except graphviz.CalledProcessError as e: assert 'syntax error' in e.stderr # In[6]: make_graph(node_label=r'\\') # In[7]: make_graph(node_label=r'\\"') # https://www.graphviz.org/doc/info/attrs.html#k:escString # In[8]: make_graph(node_label=r'node: \N') # In[9]: make_graph(node_label=r'graph: \G', graph_name='spam') # In[10]: make_graph(node_label='spam', URL=r'https://example.org/\L') # In[11]: make_graph(node_label=r'centered\nleft\lright\r')