Exemplo n.º 1
0
 private void RefreshUserConfigAxisRange()
 {
     // 如果正在绘图,则根据用户的配置和当前的数据更新坐标轴范围
     if (_parentChart.IsPlotting())
     {
         _parentChart.RefreshAxesRange(_parentPlotArea);
         _parentChart.RefreshScaleViewAndSendEvent(_parentPlotArea.ChartArea, this._baseAxis, false);
     }
     else
     {
         // 如果用户配置值非法,则自动计算
         if (_specifiedMax <= _specifiedMin)
         {
             SetAxisRange(_maxData, _minData);
         }
         else
         {
             SetAxisRange(_specifiedMax, _specifiedMin);
         }
         if (IsYAxis())
         {
             RefreshYMajorGridInterval();
         }
     }
     // 如果不强制更新坐标轴Label,在手动配置时经常会出现Label错位的问题
     _baseAxis.CustomLabels.Clear();
 }
Exemplo n.º 2
0
 /// <summary>
 /// Zoom reset definite steps
 /// </summary>
 /// <param name="resetTimes">Reset times. Default value: Cancel scale view.</param>
 public void ZoomReset(int resetTimes = int.MaxValue)
 {
     if (!IsZoomed)
     {
         return;
     }
     // 如果是Y轴取消缩放,则先更新Interval,避免Interval过小导致的Label重叠显示
     if (IsYAxis())
     {
         RefreshYMajorGridInterval(true);
     }
     _baseAxis.ScaleView.ZoomReset(resetTimes);
     if (_baseEasyChart.IsPlotting())
     {
         _baseEasyChart.RefreshScaleViewAndSendEvent(_basePlotArea.ChartArea, _baseAxis, false);
     }
 }