matplotlib坐标格式

时间:2013-02-02 20:20:36

标签: python matplotlib coordinates

我有这样简单的情节:

matplotlib.pyplot as plt

pt_no = [1,2,3]
coord_x = [6035763.111, 6035765.251, 6035762.801]
coord_y = [6439524.100, 6439522.251, 6439518.298]

fig, ax = plt.subplots()
ax.scatter(coord_y, coord_x, marker='x')
ax.axes.get_xaxis().set_visible(False)
ax.axes.get_yaxis().set_visible(False)
for i, txt in enumerate(pt_no):
    ax.annotate(txt, (coord_y[i], coord_x[i]))

plt.show()

但是当您在图形上移动或按住光标时,坐标显示在绘图窗口右上角的坐标看起来像6.43953e + 06.
如何使我的输入坐标完全按原样显示,例如
6439518.298而不是6.43953e + 0

提前致谢

2 个答案:

答案 0 :(得分:10)

ax.fmt_xdata属性可以设置为格式化显示字符串的函数。

例如:

ax.fmt_xdata = lambda x: "{0:f}".format(x)
ax.fmt_ydata = lambda x: "{0:f}".format(x)

答案 1 :(得分:8)

您还可以通过设置format_coord

完全覆盖默认标签
ax.format_coord = lambda x, y: "({0:f}, ".format(y) +  "{0:f})".format(x)

exampleapi doc