[optimize][axis] support auto float min-max range

This commit is contained in:
monitor1394
2022-07-11 07:04:34 +08:00
parent 69243b7cd0
commit e42afe8d47
9 changed files with 27 additions and 30 deletions

View File

@@ -148,7 +148,7 @@ namespace XCharts.Runtime
Axis axis;
Axis relativedAxis;
var isY = chart.GetSerieGridCoordAxis(serie, out axis, out relativedAxis);
chart.GetSerieGridCoordAxis(serie, out axis, out relativedAxis);
for (int i = 0; i < count; i++)
{

View File

@@ -852,8 +852,11 @@ namespace XCharts.Runtime
public override void ClearVerticesDirty()
{
base.ClearVerticesDirty();
foreach (var serieData in m_Data)
serieData.ClearVerticesDirty();
if (!IsPerformanceMode())
{
foreach (var serieData in m_Data)
serieData.ClearVerticesDirty();
}
symbol.ClearVerticesDirty();
lineStyle.ClearVerticesDirty();
itemStyle.ClearVerticesDirty();
@@ -872,8 +875,11 @@ namespace XCharts.Runtime
public override void ClearComponentDirty()
{
base.ClearComponentDirty();
foreach (var serieData in m_Data)
serieData.ClearComponentDirty();
if (!IsPerformanceMode())
{
foreach (var serieData in m_Data)
serieData.ClearComponentDirty();
}
symbol.ClearComponentDirty();
lineStyle.ClearComponentDirty();
itemStyle.ClearComponentDirty();
@@ -900,6 +906,8 @@ namespace XCharts.Runtime
private bool AnySerieDataVerticesDirty()
{
if (IsPerformanceMode())
return false;
if (this is ISimplifiedSerie)
return false;
foreach (var serieData in m_Data)
@@ -909,6 +917,8 @@ namespace XCharts.Runtime
private bool AnySerieDataComponentDirty()
{
if (IsPerformanceMode())
return false;
if (this is ISimplifiedSerie)
return false;
foreach (var serieData in m_Data)
@@ -1650,7 +1660,7 @@ namespace XCharts.Runtime
/// </summary>
public bool IsPerformanceMode()
{
return m_Large && m_Data.Count > m_LargeThreshold;
return m_Large && m_Data.Count >= m_LargeThreshold;
}
public bool IsLegendName(string legendName)

View File

@@ -573,7 +573,7 @@ namespace XCharts.Runtime
/// <param name="dimension"></param>
/// <param name="dataZoom"></param>
/// <returns></returns>
public static void UpdateMinMaxData(Serie serie, int dimension, int ceilRate = 0, DataZoom dataZoom = null)
public static void UpdateMinMaxData(Serie serie, int dimension, double ceilRate = 0, DataZoom dataZoom = null)
{
double min = 0, max = 0;
GetMinMaxData(serie, dimension, out min, out max, dataZoom);
@@ -589,7 +589,7 @@ namespace XCharts.Runtime
}
}
public static void GetAllMinMaxData(Serie serie, int ceilRate = 0, DataZoom dataZoom = null)
public static void GetAllMinMaxData(Serie serie, double ceilRate = 0, DataZoom dataZoom = null)
{
double min = 0, max = 0;
GetMinMaxData(serie, out min, out max, dataZoom);