// TODO 暂时只同步Y轴和Y2轴,X轴的后期再说
        /// <summary>
        /// 更新坐标轴和游标:坐标轴的范围、缩放视图、缩放参数;游标绑定的坐标、游标缩放参数
        /// </summary>
        public void RefreshAxesAndCursors()
        {
            double maxXRange = _plotManager.GetMaxXData();
            double minXRange = _plotManager.GetMinXData();

            // 如果X轴上下范围相同,则向前向后加1个间隔
            if (Math.Abs(maxXRange - minXRange) < Constants.MinDoubleValue)
            {
                maxXRange += 1;
                minXRange -= 1;
            }
            double minXInterval = _plotManager.GetMinXInterval();
            double minYInterval;

            if (!_isSplitView)
            {
                AdaptMainPlotAreaAxesRange(maxXRange, minXRange);
                minYInterval = GetMinYInterval(MainPlotArea);
                MainPlotArea.AdaptCursors(minXInterval, minYInterval);
            }
            else
            {
                for (int i = 0; i < SplitPlotAreas.Count; i++)
                {
                    AdaptSplitPlotAreaAxesRange(i, maxXRange, minXRange);
                    minYInterval = GetMinYInterval(SplitPlotAreas[i]);
                    SplitPlotAreas[i].AdaptCursors(minXInterval, minYInterval);
                }
            }
        }
示例#2
0
        // TODO 暂时只同步Y轴和Y2轴,X轴的后期再说
        /// <summary>
        /// 更新坐标轴和游标:坐标轴的范围、缩放视图、缩放参数;游标绑定的坐标、游标缩放参数
        /// </summary>
        public void RefreshAxesAndCursors()
        {
            double maxXRange    = _plotManager.GetMaxXData();
            double minXRange    = _plotManager.GetMinXData();
            double minXInterval = _plotManager.GetMinXInterval();
            double minYInterval;

            if (!_isSplitView)
            {
                AdaptMainPlotAreaAxesRange(maxXRange, minXRange);
                minYInterval = GetMinYInterval(MainPlotArea);
                MainPlotArea.AdaptCursors(minXInterval, minYInterval);
            }
            else
            {
                for (int i = 0; i < SplitPlotAreas.Count; i++)
                {
                    AdaptSplitPlotAreaAxesRange(i, maxXRange, minXRange);
                    minYInterval = GetMinYInterval(SplitPlotAreas[i]);
                    SplitPlotAreas[i].AdaptCursors(minXInterval, minYInterval);
                }
            }
        }