Trong R, có chức năng locator
giống như của Matlab ginput
nơi bạn có thể nhấp vào hình bằng chuột và chọn bất kỳ tọa độ x, y nào. Ngoài ra, có một hàm gọi là identify(x,y)
, nếu bạn đặt cho nó một tập hợp các điểm x, y mà bạn đã vẽ và sau đó nhấp vào hình, nó sẽ trả về chỉ số của điểm x, y nằm gần nhất (trong một điều chỉnh dung sai) đến vị trí bạn đã chọn (hoặc nhiều chỉ mục, nếu chọn nhiều điểm). Có một chức năng như vậy trong Matplotlib?matplotlib - tương tác chọn điểm hoặc địa điểm?
14
A
Trả lời
12
Bạn có thể muốn sử dụng một pick event:
fig = figure()
ax1 = fig.add_subplot(111)
ax1.set_title('custom picker for line data')
line, = ax1.plot(rand(100), rand(100), 'o', picker=line_picker)
fig.canvas.mpl_connect('pick_event', onpick2)
Tolerance được thiết lập bởi tham số bảng chọn có:
line, = ax1.plot(rand(100), 'o', picker=5) # 5 points tolerance
+0
Vâng, điều này thật tuyệt - cảm ơn bạn! – hatmatrix
5
from __future__ import print_function
import matplotlib.pyplot as plt
from matplotlib.lines import Line2D
from matplotlib.patches import Rectangle
from matplotlib.text import Text
from matplotlib.image import AxesImage
import numpy as np
from numpy.random import rand
if 1:
fig, ax = plt.subplots()
ax.set_title('click on points', picker=True)
ax.set_ylabel('ylabel', picker=True, bbox=dict(facecolor='red'))
line, = ax.plot(rand(100), 'o', picker=5)
def onpick1(event):
if isinstance(event.artist, Line2D):
thisline = event.artist
xdata = thisline.get_xdata()
ydata = thisline.get_ydata()
ind = event.ind
print 'X='+str(np.take(xdata, ind)[0]) # Print X point
print 'Y='+str(np.take(ydata, ind)[0]) # Print Y point
fig.canvas.mpl_connect('pick_event', onpick1)
+2
Nếu bạn nhập chức năng in từ tương lai, bạn phải thêm các bộ đệm: in ('X =' + str (np.take (xdata, ind) [0])) –
Các vấn đề liên quan
- 1. wcf địa chỉ tương đối điểm cuối
- 2. Cách lấy ảnh của một địa điểm từ bản đồ google hoặc địa điểm API
- 3. Cách nhận tất cả địa điểm (hoặc loại địa điểm cụ thể như nhà hàng) ở thành phố hoặc quốc gia có API Google Địa điểm?
- 4. Điểm tương tác con trỏ tùy chỉnh - CSS/JQuery
- 5. Nhãn điểm tương tác với lướiSVG và ggplot2 v.0.9.0
- 6. Địa điểm FourSquare API
- 7. Chế độ tương tác trong matplotlib
- 8. Cách chọn biểu tượng "địa điểm mạng" phù hợp?
- 9. Thiếu địa điểm trong Java?
- 10. địa điểm hoặc cơ sở dữ liệu vị trí
- 11. Biểu đồ điểm và hình với matplotlib
- 12. hơn 9 điểm con trong matplotlib
- 13. Định cỡ điểm cá nhân trong Matplotlib?
- 14. Matplotlib: Các điểm nhãn trên di chuột
- 15. Tương tác giữa networkx và matplotlib
- 16. Tìm kiếm Địa điểm API (C#)
- 17. Hai địa điểm của gacutil.exe
- 18. API Google Địa điểm - Yêu cầu chi tiết địa điểm không được xác định
- 19. Tại sao 13 địa điểm trong ROT13?
- 20. Địa điểm tự động hoàn tất bằng cách đặt chỗ ở và địa điểm
- 21. Tìm tất cả các địa điểm và địa điểm của chuỗi con
- 22. Foursquare: Ảnh về địa điểm/ảnh nhưng không ở địa điểm/khám phá?
- 23. OmniAuth + Kéo Tweet, FB Địa điểm, v.v.
- 24. matplotlib: dòng mở rộng hơn 2 điểm kiểm soát
- 25. Đặt kích thước điểm thay đổi trong matplotlib
- 26. Tự động hoàn thành JavaScript của Google Địa điểm: tôi có thể xóa quốc gia khỏi tên địa điểm không?
- 27. Điểm đánh dấu Matplotlib biến mất khi edgecolor = 'none'
- 28. Chuyển địa điểm triển khai ClickOnce
- 29. Khoảng cách giữa hai địa điểm GEO
- 30. Chức năng loại API Google Địa điểm ..
FWIW: Ngoài ra còn có 'iselect() 'trong' gói iplots' (cho R). Đây là một khái quát: nó liên quan đến việc liên kết và đánh răng. Điều tương tự có thể được thực hiện thông qua hàm 'get (, 'BrushData')' trong Matlab. – Iterator
Phải và Rggobi. Nhưng tôi đã không nhận thức được khả năng của Matlab cho điều này - lần cuối cùng tôi sử dụng nó mạnh mẽ đã trở lại trong những ngày của phiên bản 6.5. Dường như đã nhận được ưa thích kể từ đó. – hatmatrix
Ưa thích và đắt tiền. Chi phí của R cũng tăng gấp ba lần trong thập kỷ qua, nhưng nó vẫn là một món hời. :) – Iterator