Skip to content

Commit bfc42ea

Browse files
committed
Bugfix for the layering
1 parent b428fb7 commit bfc42ea

File tree

2 files changed

+15
-27
lines changed

2 files changed

+15
-27
lines changed

src/maxplotlib/subfigure/tikz_figure.py

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ def get_reqs(self):
2323
for item in self.items:
2424
if isinstance(item, Path):
2525
for node in item.nodes:
26-
reqs.add(node.layer)
26+
if not node.layer == self.label:
27+
reqs.add(node.layer)
2728
return reqs
2829
def generate_tikz(self):
2930
tikz_script = f"\n% Layer {self.label}\n"
@@ -140,7 +141,7 @@ def add_node(self, x, y, label=None, content="", layer = 0, **kwargs):
140141
"""
141142
if label is None:
142143
label = f"node{self._node_counter}"
143-
node = Node(x=x, y=y, label=label, content=content, **kwargs)
144+
node = Node(x=x, y=y, label=label, layer=layer, content=content, **kwargs)
144145
self.nodes.append(node)
145146
if layer in self.layers:
146147
self.layers[layer].add(node)
@@ -171,7 +172,6 @@ def add_path(self, nodes, layer=0, **kwargs):
171172
else ValueError(f"Invalid node type: {type(node)}")
172173
for node in nodes
173174
]
174-
175175
path = Path(nodes, **kwargs)
176176
self.paths.append(path)
177177
if layer in self.layers:
@@ -219,18 +219,6 @@ def generate_tikz(self):
219219
# Add grid if enabled
220220
if self._grid:
221221
tikz_script += " \\draw[step=1cm, gray, very thin] (-10,-10) grid (10,10);\n"
222-
# def update_layer_order(layer, layer_order, buffered_layers):
223-
# reqs = layer.get_reqs()
224-
# if len(reqs) == 0:
225-
# layer_order.append(key)
226-
# buffered_layers.pop(key)
227-
# elif all([r in layer_order for r in reqs]):
228-
# layer_order.append(key)
229-
# buffered_layers.pop(key)
230-
# else:
231-
# buffered_layers.append(key)
232-
# return layer, layer_order, buffered_layers
233-
# Determine the order to print the layers
234222
ordered_layers = []
235223
buffered_layers = set()
236224

@@ -246,8 +234,6 @@ def generate_tikz(self):
246234

247235
for buffered_layer in buffered_layers:
248236
buff_reqs = buffered_layer.get_reqs()
249-
print(buff_reqs)
250-
print([r in [l.label for l in ordered_layers] for r in buff_reqs], [l.label for l in ordered_layers])
251237
if all([r in [l.label for l in ordered_layers] for r in buff_reqs]):
252238
print('Move layer from buffer')
253239
ordered_layers.append(key)

tutorials/tutorial_02.ipynb

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
},
2525
{
2626
"cell_type": "code",
27-
"execution_count": 191,
27+
"execution_count": 229,
2828
"id": "650f0afa-f719-4495-b020-fc2b2df36bd7",
2929
"metadata": {},
3030
"outputs": [
@@ -41,26 +41,28 @@
4141
"tikz = c.add_tikzfigure(grid=False)\n",
4242
"\n",
4343
"# Add nodes\n",
44-
"tikz.add_node(0, 0, 'A', shape='circle', draw='black', fill='blue', layer=3)\n",
45-
"tikz.add_node(1, 0, 'B')\n",
46-
"tikz.add_node(1, 1, 'C')\n",
47-
"tikz.add_node(0, 1, 'D')\n",
48-
"tikz.add_node(0.5, 0.5, content='Cube', layer=2)\n",
44+
"tikz.add_node(0, 0, 'A', shape='circle', draw='black', fill='blue', layer=0)\n",
45+
"tikz.add_node(1, 0, 'B', shape='circle', draw='black', fill='blue', layer=0)\n",
46+
"tikz.add_node(1, 1, 'C', shape='circle', draw='black', fill='blue', layer=0)\n",
47+
"tikz.add_node(0, 1, 'D', shape='circle', draw='black', fill='blue', layer=2)\n",
48+
"\n",
4949
"\n",
5050
"# Add a line between nodes \n",
51-
"tikz.add_path(['A', 'B', 'C', 'D'], path_actions=['draw', 'rounded corners'], fill='red', opacity=1.0,cycle=True)\n",
51+
"tikz.add_path(['A', 'B', 'C', 'D'], path_actions=['draw', 'rounded corners'], fill='red', opacity=1.0,cycle=True, layer=1)\n",
52+
"\n",
53+
"tikz.add_node(0.5, 0.5, content='Cube', layer=10)\n",
5254
"\n",
5355
"# Generate the TikZ script\n",
5456
"#script = tikz.generate_tikz()\n",
5557
"#print(script)\n",
5658
"#print(tikz.generate_standalone())\n",
5759
"tikz.compile_pdf('my_figure.pdf')\n",
58-
"\n"
60+
"# "
5961
]
6062
},
6163
{
6264
"cell_type": "code",
63-
"execution_count": 206,
65+
"execution_count": 207,
6466
"id": "344589d9-c60f-4d01-8171-e35db585f1ad",
6567
"metadata": {},
6668
"outputs": [
@@ -89,7 +91,7 @@
8991
" dtype=object))"
9092
]
9193
},
92-
"execution_count": 206,
94+
"execution_count": 207,
9395
"metadata": {},
9496
"output_type": "execute_result"
9597
}

0 commit comments

Comments
 (0)