|
1 | 1 | import matplotlib.pyplot as plt |
2 | 2 |
|
3 | 3 |
|
4 | | -def arrow(p1, p2, **props): |
5 | | - axs[0, 0].annotate( |
6 | | - "", p1, p2, xycoords='figure fraction', |
7 | | - arrowprops=dict(arrowstyle="<->", shrinkA=0, shrinkB=0, **props)) |
8 | | - |
9 | | - |
10 | 4 | fig, axs = plt.subplots(2, 2, figsize=(6.5, 4)) |
11 | 5 | fig.set_facecolor('lightblue') |
12 | 6 | fig.subplots_adjust(0.1, 0.1, 0.9, 0.9, 0.4, 0.4) |
| 7 | + |
| 8 | +overlay = fig.add_axes([0, 0, 1, 1], zorder=100) |
| 9 | +overlay.axis("off") |
| 10 | +xycoords = 'figure fraction' |
| 11 | +arrowprops = dict(arrowstyle="<->", shrinkA=0, shrinkB=0) |
| 12 | + |
13 | 13 | for ax in axs.flat: |
14 | 14 | ax.set(xticks=[], yticks=[]) |
15 | 15 |
|
16 | | -arrow((0, 0.75), (0.1, 0.75)) # left |
17 | | -arrow((0.435, 0.75), (0.565, 0.75)) # wspace |
18 | | -arrow((0.9, 0.75), (1, 0.75)) # right |
| 16 | +overlay.annotate("", (0, 0.75), (0.1, 0.75), |
| 17 | + xycoords=xycoords, arrowprops=arrowprops) # left |
| 18 | +overlay.annotate("", (0.435, 0.25), (0.565, 0.25), |
| 19 | + xycoords=xycoords, arrowprops=arrowprops) # wspace |
| 20 | +overlay.annotate("", (0, 0.8), (0.9, 0.8), |
| 21 | + xycoords=xycoords, arrowprops=arrowprops) # right |
19 | 22 | fig.text(0.05, 0.7, "left", ha="center") |
20 | | -fig.text(0.5, 0.7, "wspace", ha="center") |
21 | | -fig.text(0.95, 0.7, "right", ha="center") |
| 23 | +fig.text(0.5, 0.3, "wspace", ha="center") |
| 24 | +fig.text(0.05, 0.83, "right", ha="center") |
22 | 25 |
|
23 | | -arrow((0.25, 0), (0.25, 0.1)) # bottom |
24 | | -arrow((0.25, 0.435), (0.25, 0.565)) # hspace |
25 | | -arrow((0.25, 0.9), (0.25, 1)) # top |
26 | | -fig.text(0.28, 0.05, "bottom", va="center") |
| 26 | +overlay.annotate("", (0.75, 0), (0.75, 0.1), |
| 27 | + xycoords=xycoords, arrowprops=arrowprops) # bottom |
| 28 | +overlay.annotate("", (0.25, 0.435), (0.25, 0.565), |
| 29 | + xycoords=xycoords, arrowprops=arrowprops) # hspace |
| 30 | +overlay.annotate("", (0.8, 0), (0.8, 0.9), |
| 31 | + xycoords=xycoords, arrowprops=arrowprops) # top |
| 32 | +fig.text(0.65, 0.05, "bottom", va="center") |
27 | 33 | fig.text(0.28, 0.5, "hspace", va="center") |
28 | | -fig.text(0.28, 0.95, "top", va="center") |
| 34 | +fig.text(0.82, 0.05, "top", va="center") |
0 commit comments