Graph 如何通过在PySimpleGUI中单击鼠标从GUI访问打印数据值?

Graph 如何通过在PySimpleGUI中单击鼠标从GUI访问打印数据值?,graph,pysimplegui,Graph,Pysimplegui,如何在PySimpleGUI中提取鼠标单击时的数据点 我有一个2D(x,y)数据点的集合。我使用PySimpleGUI图形元素和drawCircle函数绘制了二维数据。现在,当我点击一个圆圈(代表一个数据点)时,我想执行一个函数,将这个(x,y)数据点作为输入。我希望在单击圆上的任意位置时,获得绘制的精确(x,y)数据点(而不是单击位置的坐标) 将PySimpleGUI导入为sg 布局=[[sg.Graph(canvas\u size=(800800),Graph\u bottom\u left

如何在PySimpleGUI中提取鼠标单击时的数据点

我有一个2D(x,y)数据点的集合。我使用PySimpleGUI图形元素和drawCircle函数绘制了二维数据。现在,当我点击一个圆圈(代表一个数据点)时,我想执行一个函数,将这个(x,y)数据点作为输入。我希望在单击圆上的任意位置时,获得绘制的精确(x,y)数据点(而不是单击位置的坐标)

将PySimpleGUI导入为sg
布局=[[sg.Graph(canvas\u size=(800800),Graph\u bottom\u left=
(-105,-105),图的右上方=(105,105),背景颜色=(白色),
key='graph',tooltip=None,enable_events=True)],]
窗口=sg.窗口(“网络预测评估”,布局,
grab_anywhere=True).Finalize()
图形=窗口[“图形”]
#画轴
图.绘制线(-100,0)、(100,0))
图.绘制线((0,-100),(0,100))
对于范围内的x(-100101,20):
图.绘制线((x,-3),(x,3))
如果x!=0:
graph.DrawText(x,(x,-10),color='green')
对于范围内的y(-100101,20):
图.绘制线((-3,y)、(3,y))
如果y!=0:
图形.绘图文本(y,(-10,y),颜色='blue')
#作图
f=打开(“./data/train_analysis.txt”,“r”)
s_id=[]
真值=[]
pred_val=[]
f、 readline()#删除列名
对于f中的x:
s=x.split()
s_id.append(float(s[0]))
真值附加(整数(四舍五入(浮点[1])*100)))
预值追加(整数(四舍五入(浮点数[2])*100)))
对于范围内的i(len(真值)):
#绘图线((真值[i],0),(真值[i],前值[i]))
图.DrawCircle((真值[i],前值[i]),4,线颜色=红色,
填充颜色(蓝色)
尽管如此:
事件,值=window.read()
如果事件为无:
打破
val=值[事件]
打印(val)

我能够得到鼠标点击位置的坐标。但我想在单击圆上的任何位置时获得准确的数据点。我该怎么做?

oops。。。误读了这个问题。你必须自己决定点击什么。据我所知,如果你点击了一个画出来的圆圈或任何其他图形,没有什么能告诉你。