{ "cells": [ { "cell_type": "markdown", "id": "0", "metadata": {}, "source": [ "# Tutorial 2" ] }, { "cell_type": "code", "execution_count": null, "id": "1", "metadata": {}, "outputs": [], "source": [ "from maxplotlib import Canvas\n", "\n", "%load_ext autoreload\n", "%autoreload 2" ] }, { "cell_type": "code", "execution_count": null, "id": "2", "metadata": {}, "outputs": [], "source": [ "c = Canvas(width=800, ratio=0.5)\n", "tikz = c.add_tikzfigure(grid=False)\n", "\n", "# Add nodes\n", "tikz.add_node(0, 0, \"A\", shape=\"circle\", draw=\"black\", fill=\"blue\", layer=0)\n", "tikz.add_node(1, 0, \"B\", shape=\"circle\", draw=\"black\", fill=\"blue\", layer=0)\n", "tikz.add_node(1, 1, \"C\", shape=\"circle\", draw=\"black\", fill=\"blue\", layer=0)\n", "tikz.add_node(0, 1, \"D\", shape=\"circle\", draw=\"black\", fill=\"blue\", layer=2)\n", "\n", "\n", "# Add a line between nodes\n", "tikz.add_path(\n", " [\"A\", \"B\", \"C\", \"D\"],\n", " path_actions=[\"draw\", \"rounded corners\"],\n", " fill=\"red\",\n", " opacity=1.0,\n", " cycle=True,\n", " layer=1,\n", ")\n", "\n", "tikz.add_node(0.5, 0.5, content=\"Cube\", layer=10)\n", "\n", "# tikz.compile_pdf(\"tutorial_02_01.pdf\")\n", "#" ] }, { "cell_type": "code", "execution_count": null, "id": "3", "metadata": {}, "outputs": [], "source": [ "c = Canvas(ncols=2, width=\"20cm\", ratio=0.5)\n", "tikz = c.add_tikzfigure(grid=False)\n", "\n", "# Add nodes\n", "node_a = tikz.add_node(\n", " -5, 0, \"A\", content=\"Origin node\", shape=\"circle\", draw=\"black\", fill=\"blue!20\"\n", ")\n", "tikz.add_node(\n", " 2,\n", " 2,\n", " \"B\",\n", " content=\"$a^2 + b^2 = c^2$\",\n", " shape=\"rectangle\",\n", " draw=\"red\",\n", " fill=\"white\",\n", " layer=1,\n", ")\n", "tikz.add_node(2, 5, \"C\", shape=\"rectangle\", draw=\"red\", fill=\"red\")\n", "last_node = tikz.add_node(-1, 5, shape=\"rectangle\", draw=\"red\", fill=\"red\", layer=-10)\n", "\n", "# Add a line between nodes\n", "tikz.add_path(\n", " [node_a.label, \"B\", \"C\", \"A\", last_node],\n", " color=\"green\",\n", " style=\"solid\",\n", " line_width=\"2\",\n", " layer=-5,\n", ")\n", "\n", "sp = c.add_subplot(\n", " grid=True, xlabel=\"(x - 10) * 0.1\", ylabel=\"10y\", yscale=10, xshift=-10, xscale=0.1\n", ")\n", "sp.add_line([0, 1, 2, 3], [0, 1, 4, 9], label=\"Line 1\")\n", "sp.add_line([0, 1, 2, 3], [0, 2, 3, 4], linestyle=\"dashed\", color=\"red\", label=\"Line 2\")\n", "\n", "# Generate the TikZ script\n", "# print(tikz.generate_standalone())\n", "\n", "# tikz.compile_pdf(\"tutorial_02_02.pdf\")\n", "\n", "c.plot(backend=\"matplotlib\")" ] }, { "cell_type": "code", "execution_count": null, "id": "4", "metadata": {}, "outputs": [], "source": [ "c = Canvas(width=800, ratio=0.5)\n", "tikz = c.add_tikzfigure(grid=False)\n", "\n", "# Add nodes\n", "tikz.add_node(0, 0, \"A\")\n", "tikz.add_node(10, 0, \"B\")\n", "\n", "\n", "# Add a line between nodes\n", "tikz.add_path([\"A\", \"B\"], path_actions=[\"->\"], out=30)\n", "\n", "# Generate the TikZ script\n", "# script = tikz.generate_tikz()\n", "# print(script)\n", "print(tikz.generate_standalone())\n", "# tikz.compile_pdf(\"tutorial_02_03.pdf\")" ] } ], "metadata": { "kernelspec": { "display_name": "env_maxplotlib", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.3" } }, "nbformat": 4, "nbformat_minor": 5 }