关于Tchart里面画坐标的问题?(50分)

  • 主题发起人 主题发起人 benchy
  • 开始时间 开始时间
B

benchy

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在chart画出了曲线,并且允许chart可以缩放(allow zoom)。

现在我想要当图像缩放时,横竖坐标都过零点,请问在onzoom事件中怎么实现?
 
就是让两坐标始终交于(0,0)点
 
Chart1.LeftAxis.Minimum:=0;
Chart1.BottomAxis.Minimum:=0;
 
不能用Minimum,因为我要显示负数
 
那你再想想别的方法,比如指定一个轴(不显示负数)的最小值为0。
如果二个轴都显示正负数,两坐标交于(0,0)点 应该没问题的。
 
当窗口创建时可以保证两轴过(0,0)点,只要设置两轴的正负段对称就可以了

问题是,我要放大图时,坐标就变动了,两轴就没法保证交(0, 0)

有办法实现嘛
 
顺便想问一下,当鼠标左键框住放大chart时,在AUTOMATIC情况下坐标的最大,最小值是否发生变化?
 
你的最小值是否指轴的最小值?
当鼠标左键框住放大chart时,轴的最大、小值就是由鼠标选的框决定的。
 
问题我自己已经解决了
 
说说,你是怎么解决的?
 
其实我实现的办法比较笨,先获得坐标(0,0)点的象素值(pixel),然后获得整个chart的边框象素,计算出(0,0)在整个chart中的位置相对值positionpercent(横,竖),在每次缩放chart时,调用上面的算法,在赋值给axis.positionpercent属性,就可以使两座标始终交于(0,0)点
 
后退
顶部