0
私はscatterplotを生成している単純なmatplotlibコードを作っています。今、私はポイントに対応する画像を開いて、そのポイントをクリックしたいと思います。たとえば、ポイント1をクリックするとイメージ1が開き、ポイント2にはイメージ2が開きます。ここに私のコードは私が遠くのポイントからクリックした場合でも、それは、画像を開いているyの値が非常に高い(10^3程度のプロットに拡大すると今ここで問題があり、Matplotlib scatterplot:私がクリックしたポイントに対応する画像を開く
import matplotlib.image as mpimg
import numpy as np
import matplotlib.pyplot as plt
x=[1,2,3,4]
y=[1,4,9,16]
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(x,y,'o')
coords = []
def onclick(event):
global ix, iy
ix, iy = event.xdata, event.ydata
print 'x = %f, y = %f'%(ix, iy)
global coords
coords.append((ix, iy))
print len(coords)
z=len(coords)-1
print coords[z][1]
per = (10*coords[z][1])/100
errp = abs(coords[z][1]+per)
errn = abs(coords[z][1]-per)
print "errn=%f, errp=%f"%(errn, errp)
for i in range(len(x)):
if abs(float(y[i])) >= errn and abs(float(y[i])) <= errp :
print y[i]
fig2 = plt.figure()
img=mpimg.imread('white.png')
line2 = plt.imshow(img)
fig2.show()
return coords
cid = fig.canvas.mpl_connect('button_press_event', onclick)
plt.show()
です。むしろ、どこか近くの地域でポイント自体をクリックしたときに私は、画像を必要得ることができる方法
[これが重複質問であれば、私に元の質問へのリンクをお願い]
編集:?追加するのを忘れ画像white.png
こんにちはバートソリューションのおかげで、これは素晴らしい取り組んでいます。必要に応じてここで働くソリューションを追加します。 – dking