77
88import matplotlib .pyplot as plt
99import matplotlib .patches as mpatches
10- from mpl_toolkits .axes_grid1 .axes_grid import AxesGrid
11- from matplotlib .offsetbox import AnchoredText
1210
1311
14- fig = plt .figure (1 , figsize = (8 , 5 ))
15- fig .clf ()
16-
17-
18- def add_at (ax , t , loc = 2 ):
19- fp = dict (size = 8 )
20- _at = AnchoredText (t , loc = loc , prop = fp )
21- ax .add_artist (_at )
22- return _at
23-
24-
25- grid = AxesGrid (fig , 111 , (3 , 5 ), label_mode = "1" , share_all = True )
26-
27- grid [0 ].set_autoscale_on (False )
28-
12+ fig , axs = plt .subplots (3 , 5 , figsize = (8 , 4.8 ))
2913x1 , y1 = 0.3 , 0.3
3014<
D7DF
div class="diff-text-inner">x2 , y2 = 0.7 , 0.7 3115
3216
3317def demo_con_style (ax , connectionstyle , label = None ):
34- if label is None :
35- label = connectionstyle
36-
3718 x1 , y1 = 0.3 , 0.2
3819 x2 , y2 = 0.8 , 0.6
3920
@@ -50,53 +31,27 @@ def demo_con_style(ax, connectionstyle, label=None):
5031 ),
5132 )
5233
53- add_at (ax , label , loc = 2 )
54-
55-
56- column = grid .axes_column [0 ]
57-
58- demo_con_style (column [0 ], "angle3,angleA=90,angleB=0" ,
59- label = "angle3,\n angleA=90,\n angleB=0" )
60- demo_con_style (column [1 ], "angle3,angleA=0,angleB=90" ,
61- label = "angle3,\n angleA=0,\n angleB=90" )
62-
63- column = grid .axes_column [1 ]
64-
65- demo_con_style (column [0 ], "arc3,rad=0." )
66- demo_con_style (column [1 ], "arc3,rad=0.3" )
67- demo_con_style (column [2 ], "arc3,rad=-0.3" )
68-
69- column = grid .axes_column [2 ]
70-
71- demo_con_style (column [0 ], "angle,angleA=-90,angleB=180,rad=0" ,
72- label = "angle,\n angleA=-90,\n angleB=180,\n rad=0" )
73- demo_con_style (column [1 ], "angle,angleA=-90,angleB=180,rad=5" ,
74- label = "angle,\n angleA=-90,\n angleB=180,\n rad=5" )
75- demo_con_style (column [2 ], "angle,angleA=-90,angleB=10,rad=5" ,
76- label = "angle,\n angleA=-90,\n angleB=10,\n rad=0" )
77-
78- column = grid .axes_column [3 ]
79-
80- demo_con_style (column [0 ], "arc,angleA=-90,angleB=0,armA=30,armB=30,rad=0" ,
81- label = "arc,\n angleA=-90,\n angleB=0,\n armA=30,\n armB=30,\n rad=0" )
82- demo_con_style (column [1 ], "arc,angleA=-90,angleB=0,armA=30,armB=30,rad=5" ,
83- label = "arc,\n angleA=-90,\n angleB=0,\n armA=30,\n armB=30,\n rad=5" )
84- demo_con_style (column [2 ], "arc,angleA=-90,angleB=0,armA=0,armB=40,rad=0" ,
85- label = "arc,\n angleA=-90,\n angleB=0,\n armA=0,\n armB=40,\n rad=0" )
86-
87- column = grid .axes_column [4 ]
88-
89- demo_con_style (column [0 ], "bar,fraction=0.3" ,
90- label = "bar,\n fraction=0.3" )
91- demo_con_style (column [1 ], "bar,fraction=-0.3" ,
92- label = "bar,\n fraction=-0.3" )
93- demo_con_style (column [2 ], "bar,angle=180,fraction=-0.2" ,
94- label = "bar,\n angle=180,\n fraction=-0.2" )
95-
96- grid [0 ].set_xlim (0 , 1 )
97- grid [0 ].set_ylim (0 , 1 )
98- grid .axes_llc .axis ["bottom" ].toggle (ticklabels = False )
99- grid .axes_llc .axis ["left" ].toggle (ticklabels = False )
100- fig .subplots_adjust (left = 0.05 , right = 0.95 , bottom = 0.05 , top = 0.95 )
34+ ax .text (.05 , .95 , connectionstyle .replace ("," , ",\n " ),
35+ transform = ax .transAxes , ha = "left" , va = "top" )
36+
37+
38+ demo_con_style (axs [0 , 0 ], "angle3,angleA=90,angleB=0" )
39+ demo_con_style (axs [1 , 0 ], "angle3,angleA=0,angleB=90" )
40+ demo_con_style (axs [0 , 1 ], "arc3,rad=0." )
41+ demo_con_style (axs [1 , 1 ], "arc3,rad=0.3" )
42+ demo_con_style (axs [2 , 1 ], "arc3,rad=-0.3" )
43+ demo_con_style (axs [0 , 2 ], "angle,angleA=-90,angleB=180,rad=0" )
44+ demo_con_style (axs [1 , 2 ], "angle,angleA=-90,angleB=180,rad=5" )
45+ demo_con_style (axs [2 , 2 ], "angle,angleA=-90,angleB=10,rad=5" )
46+ demo_con_style (axs [0 , 3 ], "arc,angleA=-90,angleB=0,armA=30,armB=30,rad=0" )
47+ demo_con_style (axs [1 , 3 ], "arc,angleA=-90,angleB=0,armA=30,armB=30,rad=5" )
48+ demo_con_style (axs [2 , 3 ], "arc,angleA=-90,angleB=0,armA=0,armB=40,rad=0" )
49+ demo_con_style (axs [0 , 4 ], "bar,fraction=0.3" )
50+ demo_con_style (axs [1 , 4 ], "bar,fraction=-0.3" )
51+ demo_con_style (axs [2 , 4 ], "bar,angle=180,fraction=-0.2" )
52+
53+ for ax in axs .flat :
54+ ax .set (xlim = (0 , 1 ), ylim = (0 , 1 ), xticks = [], yticks = [], aspect = 1 )
55+ fig .tight_layout (pad = 0 )
10156
10257plt .show ()
0 commit comments