小编GiP*_*iPi的帖子

如何在大小、滚动和网格上对齐两个(或更多)图表

我有三个信号(电压、电流和能量)涉及同一时期。我在两张图上打印数据:一张是电压(蓝色)和电流(红色),另一张只有能量(橙色)。它们是两个不同的图形,但实际上,它们共享相同的 X 轴。

我有两个与鼠标移动同步的光标,它充当两个图形的一个光标,基于光标位置的工具提示显示三个信号的当前选定值(所有三个系列的 IsXValueIndexed = true 和间隔 = 1)。如您所见,它们运行良好:

我有两个问题:

1) 当我开始进行缩放时,它们开始在图表区域的 GRID ALIGNMENT 和 SIZE 方面有所不同。在始终使用“更改”事件注册最后一个点后,当用户释放鼠标左键时,“更改”事件将触发并执行以下工作:我根据源名称强制缩放对面的图形。

dlChart_SelectionRangeChange(object sender, CursorEventArgs e){            
            var source = sender as Chart;
            double sp = selection_point.getStartPoint();
            double ep = selection_point.getEndPoint();
            double tmp = 0;

            if (sp == ep)
                return;
            if (sp > ep)
            {// zoom contrario
                tmp = sp;
                sp = ep;
                ep = tmp;
            }

            switch (source.ChartAreas[0].Name)
            {
                case CHARTAREA1_NAME:
                    dlChart2.ChartAreas[0].AxisX.ScaleView.Zoom(sp, ep);
                    break;
                case CHARTAREA2_NAME:
                    dlChart.ChartAreas[0].AxisX.ScaleView.Zoom(sp, ep);
                    break;
                default: break;
            }
        }
Run Code Online (Sandbox Code Playgroud)

下图描述了问题: …

c# mschart winforms

3
推荐指数
1
解决办法
3196
查看次数

标签 统计

c# ×1

mschart ×1

winforms ×1