在此一维散点图中:
import numpy as np
import matplotlib.pyplot as plt
D = {'label1': 7.33, 'label2': 7.12, 'label3': 4.26, 'label4': 6.98}
plt.scatter(D.values(), [0] * 4, marker='o', s=[100] * 4, cmap=plt.get_cmap('Spectral'))
for i, k in enumerate(D):
plt.annotate(k, xy=(D[k], 0), xytext=(-20, 20), textcoords='offset points', ha='right', va='bottom', bbox=dict(boxstyle='round,pad=0.5', fc='yellow', alpha=0.5), arrowprops=dict(arrowstyle = '->', connectionstyle='arc3,rad=0'))
plt.show()
标签相互覆盖。
如何让scatter
/ annotate
找到最合适的位置来将标签自动围绕点放置?