matplotlib 3.5.1

>>> """
===================
Annotate Text Arrow
===================

"""
... 
... import numpy as np
... import matplotlib.pyplot as plt
... 
... 
... # Fixing random state for reproducibility
... np.random.seed(19680801)
... 
... fig, ax = plt.subplots(figsize=(5, 5))
... ax.set_aspect(1)
... 
... x1 = -1 + np.random.randn(100)
... y1 = -1 + np.random.randn(100)
... x2 = 1. + np.random.randn(100)
... y2 = 1. + np.random.randn(100)
... 
... ax.scatter(x1, y1, color="r")
... ax.scatter(x2, y2, color="g")
... 
... bbox_props = dict(boxstyle="round", fc="w", ec="0.5", alpha=0.9)
... ax.text(-2, -2, "Sample A", ha="center", va="center", size=20,
...  bbox=bbox_props)
... ax.text(2, 2, "Sample B", ha="center", va="center", size=20,
...  bbox=bbox_props)
... 
... 
... bbox_props = dict(boxstyle="rarrow", fc=(0.8, 0.9, 0.9), ec="b", lw=2)
... t = ax.text(0, 0, "Direction", ha="center", va="center", rotation=45,
...  size=15,
...  bbox=bbox_props)
... 
... bb = t.get_bbox_patch()
... bb.set_boxstyle("rarrow", pad=0.6)
... 
... ax.set_xlim(-4, 4)
... ax.set_ylim(-4, 4)
... 
... plt.show()
...