Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

รับตำแหน่ง (x,y) ที่ชี้ด้วยเมาส์ในพล็อตแบบโต้ตอบ (Python Matplotlib) ได้อย่างไร


เพื่อให้ได้ตำแหน่ง (x, y) ที่ชี้ด้วยเมาส์ในพล็อตแบบโต้ตอบ เราสามารถทำตามขั้นตอนต่อไปนี้

ขั้นตอน

  • กำหนดขนาดรูปและปรับช่องว่างภายในระหว่างและรอบๆ แผนผังย่อย

  • สร้างตัวเลขใหม่หรือเปิดใช้งานตัวเลขที่มีอยู่

  • ผูกฟังก์ชัน *mouse_event* ถึงงาน *button_press_event* .

  • สร้าง x และ จุดข้อมูลโดยใช้ numpy

  • พล็อต x และ จุดข้อมูลโดยใช้ plot() วิธีการ

  • หากต้องการแสดงรูป ให้ใช้ แสดง() วิธีการ

ตัวอย่าง

นำเข้า numpy เป็น npfrom matplotlib นำเข้า pyplot เป็น pltplt.rcParams["figure.figsize"] =[7.00, 3.50]plt.rcParams["figure.autolayout"] =Truedef mouse_event (เหตุการณ์):พิมพ์ ('x:{ } และ y:{}'.format(event.xdata, event.ydata))fig =plt.figure()cid =fig.canvas.mpl_connect('button_press_event', mouse_event)x =np.linspace(-10, 10 , 100)y =np.exp(x)plt.plot(x, y)plt.show()

ผลลัพธ์

มันจะสร้างผลลัพธ์ต่อไปนี้ -

รับตำแหน่ง (x,y) ที่ชี้ด้วยเมาส์ในพล็อตแบบโต้ตอบ (Python Matplotlib) ได้อย่างไร

ตอนนี้ คลิกที่ใดก็ได้บนโครงเรื่องแล้วจะแสดงพิกัดของจุดบนคอนโซล -

x:-3.633289020076159 และ y:7344.564590474489x:3.2193731551790172 และ y:3255.6463283494704x:8.680088326085489 และ y:802.2953710744596x:7.680741758860773 และ y:11269.92612211453389143.74 y