.. _sphx_glr_gallery_userdemo_connectionstyle_demo.py: ==================== Connectionstyle Demo ==================== .. image:: /gallery/userdemo/images/sphx_glr_connectionstyle_demo_001.png :align: center .. code-block:: python import matplotlib.pyplot as plt import matplotlib.patches as mpatches from mpl_toolkits.axes_grid1.axes_grid import AxesGrid from matplotlib.offsetbox import AnchoredText fig = plt.figure(1, figsize=(8, 5)) fig.clf() def add_at(ax, t, loc=2): fp = dict(size=8) _at = AnchoredText(t, loc=loc, prop=fp) ax.add_artist(_at) return _at grid = AxesGrid(fig, 111, (3, 5), label_mode="1", share_all=True) grid[0].set_autoscale_on(False) x1, y1 = 0.3, 0.3 x2, y2 = 0.7, 0.7 def demo_con_style(ax, connectionstyle, label=None): if label is None: label = connectionstyle x1, y1 = 0.3, 0.2 x2, y2 = 0.8, 0.6 ax.plot([x1, x2], [y1, y2], ".") ax.annotate("", xy=(x1, y1), xycoords='data', xytext=(x2, y2), textcoords='data', arrowprops=dict(arrowstyle="->", color="0.5", shrinkA=5, shrinkB=5, patchA=None, patchB=None, connectionstyle=connectionstyle, ), ) add_at(ax, label, loc=2) column = grid.axes_column[0] demo_con_style(column[0], "angle3,angleA=90,angleB=0", label="angle3,\nangleA=90,\nangleB=0") demo_con_style(column[1], "angle3,angleA=0,angleB=90", label="angle3,\nangleA=0,\nangleB=90") column = grid.axes_column[1] demo_con_style(column[0], "arc3,rad=0.") demo_con_style(column[1], "arc3,rad=0.3") demo_con_style(column[2], "arc3,rad=-0.3") column = grid.axes_column[2] demo_con_style(column[0], "angle,angleA=-90,angleB=180,rad=0", label="angle,\nangleA=-90,\nangleB=180,\nrad=0") demo_con_style(column[1], "angle,angleA=-90,angleB=180,rad=5", label="angle,\nangleA=-90,\nangleB=180,\nrad=5") demo_con_style(column[2], "angle,angleA=-90,angleB=10,rad=5", label="angle,\nangleA=-90,\nangleB=10,\nrad=0") column = grid.axes_column[3] demo_con_style(column[0], "arc,angleA=-90,angleB=0,armA=30,armB=30,rad=0", label="arc,\nangleA=-90,\nangleB=0,\narmA=30,\narmB=30,\nrad=0") demo_con_style(column[1], "arc,angleA=-90,angleB=0,armA=30,armB=30,rad=5", label="arc,\nangleA=-90,\nangleB=0,\narmA=30,\narmB=30,\nrad=5") demo_con_style(column[2], "arc,angleA=-90,angleB=0,armA=0,armB=40,rad=0", label="arc,\nangleA=-90,\nangleB=0,\narmA=0,\narmB=40,\nrad=0") column = grid.axes_column[4] demo_con_style(column[0], "bar,fraction=0.3", label="bar,\nfraction=0.3") demo_con_style(column[1], "bar,fraction=-0.3", label="bar,\nfraction=-0.3") demo_con_style(column[2], "bar,angle=180,fraction=-0.2", label="bar,\nangle=180,\nfraction=-0.2") grid[0].set_xlim(0, 1) grid[0].set_ylim(0, 1) grid.axes_llc.axis["bottom"].toggle(ticklabels=False) grid.axes_llc.axis["left"].toggle(ticklabels=False) fig.subplots_adjust(left=0.05, right=0.95, bottom=0.05, top=0.95) plt.show() **Total running time of the script:** ( 0 minutes 0.817 seconds) .. only :: html .. container:: sphx-glr-footer .. container:: sphx-glr-download :download:`Download Python source code: connectionstyle_demo.py ` .. container:: sphx-glr-download :download:`Download Jupyter notebook: connectionstyle_demo.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_