7
7
8
8
import matplotlib .pyplot as plt
9
9
import matplotlib .patches as mpatches
10
- from mpl_toolkits .axes_grid1 .axes_grid import AxesGrid
11
- from matplotlib .offsetbox import AnchoredText
12
10
13
11
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 ))
29
13
x1 , y1 = 0.3 , 0.3
30
14
x2 , y2 = 0.7 , 0.7
31
15
32
16
33
17
def demo_con_style (ax , connectionstyle , label = None ):
34
- if label is None :
35
- label = connectionstyle
36
-
37
18
x1 , y1 = 0.3 , 0.2
38
19
x2 , y2 = 0.8 , 0.6
39
20
@@ -50,53 +31,27 @@ def demo_con_style(ax, connectionstyle, label=None):
50
31
),
51
32
)
52
33
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 )
101
56
102
57
plt .show ()
0 commit comments