最佳答案
我花了很长时间(相当于很长时间)寻找一个非常烦人(看似基本的)问题的答案,因为我找不到一个非常适合这个答案的问题,所以我发布了一个问题并回答了它,希望它能帮助别人节省我刚刚在菜鸟绘图技巧上花费的大量时间。
如果要使用 python matplotlib 标记绘图点,请使用
from matplotlib import pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
A = anyarray
B = anyotherarray
plt.plot(A,B)
for i,j in zip(A,B):
ax.annotate('%s)' %j, xy=(i,j), xytext=(30,0), textcoords='offset points')
ax.annotate('(%s,' %i, xy=(i,j))
plt.grid()
plt.show()
我知道 xytext = (30,0)与文本坐标一致,你使用这些30,0值来定位数据标签点,所以它在0 y 轴上,在 x 轴上的30在它自己的小区域上。
需要同时绘制 i 和 j 的直线,否则只能绘制 x 或 y 数据标签。
你可以得到这样的东西(只注意标签) :
这并不理想,仍然有一些重叠-但总比什么都没有,这是我有。