2013-02-02 21 views
5

Tôi có cốt truyện đơn giản như thế này:matplotlib phối dạng

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() 

nhưng tọa độ hiển thị trong góc bootom bên phải của cửa sổ cốt truyện khi bạn di chuyển hoặc giữ con trỏ trên giao diện hình như 6.43953e + 06.
thế nào tôi có thể có tọa độ đầu vào của mình được hiển thị chính xác như-là không, ví dụ:
6439518.298 thay vì 6.43953e + 0
?
Cảm ơn trước

Trả lời

9

Thuộc tính ax.fmt_xdata có thể được đặt thành chức năng định dạng chuỗi hiển thị.

Ví dụ:

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

Cảm ơn, đó là chính xác những gì tôi muốn. – daikini

+0

Nhưng một câu hỏi nữa: Khi bạn kiểm tra mã của tôi, bạn sẽ thấy tôi hoán đổi các trục truyền tọa độ x, y của tôi thành y, x thành matplotlib để làm cho cốt truyện của tôi hướng về phía bắc. Kết quả là coords của tôi được hiển thị nghịch trong cửa sổ âm mưu. Nó có thể dễ dàng thay đổi không? – daikini

7

Bạn cũng có thể hoàn toàn ghi đè lên nhãn mặc định bằng cách thiết lập format_coord

ax.format_coord = lambda x, y: "({0:f}, ".format(y) + "{0:f})".format(x) 

example, api doc

+0

Cảm ơn rất nhiều đó là gợi ý tuyệt vời, mà sẽ cho phép tôi để có được tất cả những gì cần thiết trong vấn đề này. – daikini

Các vấn đề liên quan