2016-04-12 17 views
0

Böyle bir şekil göz önüne alındığında KoordinatlarMatplotlib göster görüntü

import matplotlib.pyplot as plt 
%matplotlib inline 
f, ax = plt.subplots(1,2) 
plt.show() 

bu görüntüler (bir ızgara ile, tercihen, ya da omurgalar) bir şekil (değil koordinatları eksen veya veri) görüntü koordinatları mümkün mi?

Şimdiden teşekkürler!

+0

Koordinatları gösteren bir etiket gibi mi demek istiyorsunuz? – armatita

+0

Evet, sanki plt.text (x, y, 'text') yapmak istedim ve x ve y koordinatlarının arsada nerede olacağını görmek istedim. –

cevap

2

Aşağıdaki kod, matplotlib belgelerinin event handling chapter numaralı kodundan bir koddur. Çizim alanına her tıkladığınızda, olay koordinatları (ekran koordinatları) ve çizim koordinatları dahil olmak üzere yazdırılan çeşitli değerler olduğunu unutmayın.

import matplotlib.pyplot as plt 
fig = plt.figure() 
ax = fig.add_subplot(111) 
ax.plot(np.random.rand(10)) 

def onclick(event): 
    print('button=%d, x=%d, y=%d, xdata=%f, ydata=%f'%(
     event.button, event.x, event.y, event.xdata, event.ydata)) 

cid = fig.canvas.mpl_connect('button_press_event', onclick) 
plt.show()import matplotlib.pyplot as plt 
fig = plt.figure() 
ax = fig.add_subplot(111) 
ax.plot(np.random.rand(10)) 

def onclick(event): 
    print('button=%d, x=%d, y=%d, xdata=%f, ydata=%f'%(
     event.button, event.x, event.y, event.xdata, event.ydata)) 

cid = fig.canvas.mpl_connect('button_press_event', onclick) 
plt.show() 

, hızlı bir test sonucu:

button=1, x=127, y=98, xdata=0.852823, ydata=0.218149 
button=1, x=198, y=228, xdata=2.141129, ydata=0.524111 
button=1, x=116, y=382, xdata=0.653226, ydata=0.886559 
button=1, x=209, y=371, xdata=2.340726, ydata=0.860669 
button=1, x=230, y=257, xdata=2.721774, ydata=0.592364 

EDIT: Sen aslında ekranda koordinatları görüntülemek isteyebilirsiniz anlamına gelen bir plt.text söz ettik. Bunun için bir mpl widget oluşturmak veya tıklama olayında sadece plt.text örneklerini oluşturmak isteyebilirsiniz (test etmediniz).