各位大侠好:
    我用C#做一个对历史数据作曲线显示的程序时,想实现曲线的放大功能。遇到放大后对纵坐标标注更新不准确的问题?
    我在曲线显示区的顶部往下1/5位置显示所有数据中的最大值,这样就不会造成若所有数据集中在最大值附近时,使得曲线充满显示区的顶部。 (有更理想的显示最大值位置的方法欢迎指正)。  
    曲线放大也就是对被框选部分的放大,曲线本身的放大倒是实现了。  
    一旦放大后,我依照被选框与这个显示区域的比例关系,重新设置纵轴(Y轴)(分成5份)的坐标值时,总是无法获取准确、精确的坐标值。
    同时数据量程从1~10至1~10000不等,则放大后,纵轴坐标的比例计算时如何避免计算值精度的丢失?自己感觉肯定是比例关系计算设置不好,导致放大后坐标值标注总是不准,哪位大侠做过类似程序的能否提供程序代码或者关于这个比例放大作用的算法。

解决方案 »

  1.   

    我对这个问题也挺感兴趣的 ! 不知道你用什么画的 曲线!放大时 是对区域放大还是 针对单个坐标系放大!区域放大的图表  个人觉得Teechart里面挺好用! 不需要写!自带的绑定数据后就可以!
      

  2.   


    我就是用GDI+画的,每个数据用直线连接起来。
    我对区域中的曲线进行放大的同时,需要让坐标标注也跟着变化,这样才是合理的放大程序。Teechart是一个什么工具?方法类?
      

  3.   

    Teechart是一个第三方的图标控件 在CSDN上有资源!  你说的功能可以直接通过Teechart实现,放大功能 Teechart自带的 !