Chart 局部缩放

效果:左键划选放大区域,右键恢复

        /// <summary>
        /// 初始化,传入要进行初始化的chart
        /// </summary>
        /// <param name="chart1"></param>
        public static void InitChart (System.Windows.Forms.DataVisualization.Charting.Chart chart1)
        {
            //开启缩放功能
            chart1.ChartAreas[0].CursorX.Interval = 0;
            chart1.ChartAreas[0].CursorX.IsUserEnabled = true;
            chart1.ChartAreas[0].CursorX.IsUserSelectionEnabled = true;
            chart1.MouseClick += new System.Windows.Forms.MouseEventHandler(chart_MouseClick);
        }
 
        //右键恢复缩放
        static void chart_MouseClick(object sender, MouseEventArgs e)
        {
            Chart chart1 = sender as Chart;
            //右键恢复事件
            if (e.Button == MouseButtons.Right)
            {
                chart1.ChartAreas[0].AxisX.ScaleView.ZoomReset(0);
            }
        }


放大:

仅针对x轴(y轴同理)

chartArea1.CursorX.IsUserEnabled = true;
chartArea1.CursorX.IsUserSelectionEnabled = true;
缩小:

chart1.ChartAreas[0].AxisX.ScaleView.ZoomReset();
ZoomReset(0); —— 撤销所有放大动作

ZoomReset(1); —— 撤销上一次放大动作

设置滚动条宽度

chart1.ChartAreas[0].AxisX.ScrollBar.Size = 5;

以上所有方法也可以在chart属性里直接进行设置

获取选区坐标

Console.WriteLine(chart1.ChartAreas[0].AxisX.ScaleView.ViewMinimum);//当前显示范围最小坐标
Console.WriteLine(chart1.ChartAreas[0].AxisX.ScaleView.ViewMaximum);//当前显示范围最大坐标

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值