以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何根据数据点来获得chart上的坐标值  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=166096)

--  作者:百事可乐
--  发布时间:2021/5/18 10:52:00
--  如何根据数据点来获得chart上的坐标值
请教老师:
    在图表Chart中我们知道,series的长度是图表中数据点的总数量,series.x(i)是其中第i个数据点的X坐标,series.y(i)是其中第i个数据点的Y坐标,我们点击Cahrt可以通过鼠标事件中的CoordToDataIndex函数,根据它提供的x,y值,来获得这个数据点本身的值。

   现在我有个需求,我已知某个数据点(本来就在这个表里面的,当前行就是这个数据点了),我想知道这个数据点在Cahrt中的(x,y)坐标值,怎么办呢?

   知道这个坐标值,我就可以在某表上操作时,会在图表上实时联动的在这个坐标点上显示一个label:“当前你在这里了”,随着我对数据的操作,我在图表上也可以直观的看到它所处的位置了。

   请问下老师,这个有办法实现吗?
[此贴子已经被作者于2021/5/18 10:52:58编辑过]

--  作者:有点蓝
--  发布时间:2021/5/18 11:02:00
--  
如果是要获取数据点在窗口的坐标位置,这个好像没有相关的用法
--  作者:百事可乐
--  发布时间:2021/5/18 11:13:00
--  
哈哈,@有点蓝老师,不是说需求决定功能的吗,我们都是先有了这个需求,然后才会去想办法如何去实现。

我上文提到的需求,我感觉还是很实用的。有办法吗,绕个圈子也可以的。我自己的想法是,如果最后实在实现不了,我就先记录开始点坐标和结束点坐标,然后根据我的数据点,再来计算出这个点的坐标,这样应该是可行的,但是数据点不一定准确。同时,开始点坐标和结束点坐标,我在执行代码之前,还要先各自点击一下保存到全局变量中,到时再去计算。这个就比较麻烦了。

--  作者:有点蓝
--  发布时间:2021/5/18 11:47:00
--  
没找到相关用法。或者考虑使用内置的标示功能,如:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=133562&skin=0
--  作者:百事可乐
--  发布时间:2021/5/18 18:35:00
--  
刚才完成了。就是比较麻烦。

设置二个button(运行时隐藏起来),取它们的坐标。计算数据点个数,求出每个坐标间隔,再乘实际数据点序号数。
这样在其它控件上操作时,就可以根据数据点,将我要显示的内容label直接显示在这个chart上对应的位置。不是太精确,但是够用了,纯粹是个土办法(给有需要的朋友参考一下)。

也谢谢老师给的建议。