|
| 1 | +importmatplotlib.pyplotasplt |
| 2 | +importnumpyasnp |
| 3 | +frommpl_toolkits.axes_grid1.anchored_artistsimportAnchoredDirectionArrows |
| 4 | +importmatplotlib.font_managerasfm |
| 5 | + |
| 6 | +fig,ax=plt.subplots() |
| 7 | +ax.imshow(np.random.random((10,10))) |
| 8 | + |
| 9 | +# Simple example |
| 10 | +simple_arrow=AnchoredDirectionArrows(ax.transAxes,'X','Y') |
| 11 | +ax.add_artist(simple_arrow) |
| 12 | + |
| 13 | +# High contrast arrow |
| 14 | +high_contrast_part_1=AnchoredDirectionArrows( |
| 15 | +ax.transAxes, |
| 16 | +'111',r'11$\overline{2}$', |
| 17 | +loc=1, |
| 18 | +arrow_props={'ec':'w','fc':'none','alpha':1,'lw':2} |
| 19 | + ) |
| 20 | +ax.add_artist(high_contrast_part_1) |
| 21 | + |
| 22 | +high_contrast_part_2=AnchoredDirectionArrows( |
| 23 | +ax.transAxes, |
| 24 | +'111',r'11$\overline{2}$', |
| 25 | +loc=1, |
| 26 | +arrow_props={'ec':'none','fc':'k'}, |
| 27 | +text_props={'ec':'w','fc':'k','lw':0.4} |
| 28 | + ) |
| 29 | +ax.add_artist(high_contrast_part_2) |
| 30 | + |
| 31 | +# Rotated arrow |
| 32 | +fontprops=fm.FontProperties(family='serif') |
| 33 | + |
| 34 | +roatated_arrow=AnchoredDirectionArrows( |
| 35 | +ax.transAxes, |
| 36 | +'30','120', |
| 37 | +loc='center', |
| 38 | +color='w', |
| 39 | +angle=30, |
| 40 | +fontproperties=fontprops |
| 41 | + ) |
| 42 | +ax.add_artist(roatated_arrow) |
| 43 | + |
| 44 | +# Altering arrow directions |
| 45 | +a1=AnchoredDirectionArrows( |
| 46 | +ax.transAxes,'A','B',loc='lower center', |
| 47 | +length=-0.15, |
| 48 | +sep_x=0.03,sep_y=0.03, |
| 49 | +color='r' |
| 50 | + ) |
| 51 | +ax.add_artist(a1) |
| 52 | + |
| 53 | +a2=AnchoredDirectionArrows( |
| 54 | +ax.transAxes,'A',' B',loc='lower left', |
| 55 | +aspect_ratio=-1, |
| 56 | +sep_x=0.01,sep_y=-0.02, |
| 57 | +color='orange' |
| 58 | + ) |
| 59 | +ax.add_artist(a2) |
| 60 | + |
| 61 | + |
| 62 | +a3=AnchoredDirectionArrows( |
| 63 | +ax.transAxes,' A','B',loc='lower right', |
| 64 | +length=-0.15, |
| 65 | +aspect_ratio=-1, |
| 66 | +sep_y=-0.1,sep_x=0.04, |
| 67 | +color='cyan' |
| 68 | + ) |
| 69 | +ax.add_artist(a3) |
| 70 | + |
| 71 | +plt.show() |