| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 | 
							- namespace XCharts.Runtime
 
- {
 
-     public static class DataZoomHelper
 
-     {
 
-         public static void UpdateDataZoomRuntimeStartEndValue(DataZoom dataZoom, Serie serie)
 
-         {
 
-             if (dataZoom == null || serie == null)
 
-                 return;
 
-             double min = 0;
 
-             double max = 0;
 
-             SerieHelper.GetMinMaxData(serie, out min, out max, null);
 
-             dataZoom.context.startValue = min + (max - min) * dataZoom.start / 100;
 
-             dataZoom.context.endValue = min + (max - min) * dataZoom.end / 100;
 
-         }
 
-         public static void UpdateDataZoomRuntimeStartEndValue<T>(BaseChart chart) where T : Serie
 
-         {
 
-             foreach (var component in chart.components)
 
-             {
 
-                 if (component is DataZoom)
 
-                 {
 
-                     var dataZoom = component as DataZoom;
 
-                     if (!dataZoom.enable)
 
-                         continue;
 
-                     double min = double.MaxValue;
 
-                     double max = double.MinValue;
 
-                     foreach (var serie in chart.series)
 
-                     {
 
-                         if (!serie.show || !(serie is T))
 
-                             continue;
 
-                         if (!dataZoom.IsContainsXAxis(serie.xAxisIndex))
 
-                             continue;
 
-                         var axis = chart.GetChartComponent<XAxis>(serie.xAxisIndex);
 
-                         if (axis.minMaxType == Axis.AxisMinMaxType.Custom)
 
-                         {
 
-                             if (axis.min < min)
 
-                                 min = axis.min;
 
-                             if (axis.max > max)
 
-                                 max = axis.max;
 
-                         }
 
-                         else
 
-                         {
 
-                             double serieMinValue = 0;
 
-                             double serieMaxValue = 0;
 
-                             SerieHelper.GetMinMaxData(serie, out serieMinValue, out serieMaxValue, null, 2);
 
-                             if (serieMinValue < min)
 
-                                 min = serieMinValue;
 
-                             if (serieMaxValue > max)
 
-                                 max = serieMaxValue;
 
-                         }
 
-                     }
 
-                     dataZoom.context.startValue = min + (max - min) * dataZoom.start / 100;
 
-                     dataZoom.context.endValue = min + (max - min) * dataZoom.end / 100;
 
-                 }
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |