y = [0.924, 0.915, 0.914, 0.91, 0.909, 0.905, 0.905, 0.893, 0.886, 0.881, 
    0.873, 0.873, 0.844]

def plot_with_text(x, y, text, text_count=None):
    text_count = 2 * (len(x) / len(text)) if text_count is None else text_count
fig, ax = plt.subplots(1, 1)
l, = ax.plot(x, y)
text_size = len(text) * 10
idx_step = len(x) / text_count
for idx_num in range(text_count):
    idx = int(idx_num * idx_step)
text_pos = [x[idx], y[idx]]
xscreen = ax.transData.transform(zip(x[max(0, idx - 1):min(len(x), idx + 2)
    ], y[max(0, idx - 1):min(len(y), idx + 2)]))
a = np.abs(np.gradient(xscreen)[0][0])
rot = np.rad2deg(np.arctan2(*a)) - 90
ax.annotate(text, xy=text_pos, color='r', bbox=dict(ec='1', fc='1', alpha=
    0.9), rotation=rot, ha='center', va='center')
plot_with_text(x, y, 'test')
Пунктирная линия графика, прерванная данными (аналогично контурному графику)