mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-22 00:20:18 +00:00
优化DataZoom
This commit is contained in:
@@ -587,7 +587,7 @@ namespace XCharts
|
||||
/// <returns></returns>
|
||||
internal List<string> GetDataList(DataZoom dataZoom)
|
||||
{
|
||||
if (dataZoom != null && dataZoom.enable && dataZoom.IsContainsAxisIndex(index))
|
||||
if (dataZoom != null && dataZoom.enable && dataZoom.IsContainsAxis(this))
|
||||
{
|
||||
UpdateFilterData(dataZoom);
|
||||
return filterData;
|
||||
@@ -610,7 +610,7 @@ namespace XCharts
|
||||
/// <param name="dataZoom"></param>
|
||||
internal void UpdateFilterData(DataZoom dataZoom)
|
||||
{
|
||||
if (dataZoom != null && dataZoom.enable && dataZoom.IsContainsAxisIndex(index))
|
||||
if (dataZoom != null && dataZoom.enable && dataZoom.IsContainsAxis(this))
|
||||
{
|
||||
var startIndex = (int)((data.Count - 1) * dataZoom.start / 100);
|
||||
var endIndex = (int)((data.Count - 1) * dataZoom.end / 100);
|
||||
|
||||
@@ -365,6 +365,14 @@ namespace XCharts
|
||||
public bool runtimeCoordinateDrag { get; internal set; }
|
||||
public bool runtimeStartDrag { get; internal set; }
|
||||
public bool runtimeEndDrag { get; internal set; }
|
||||
/// <summary>
|
||||
/// 运行时实际范围的开始值
|
||||
/// </summary>
|
||||
public float runtimeStartValue { get; internal set; }
|
||||
/// <summary>
|
||||
/// 运行时实际范围的结束值
|
||||
/// </summary>
|
||||
public float runtimeEndValue { get; internal set; }
|
||||
|
||||
class AxisIndexValueInfo
|
||||
{
|
||||
@@ -481,9 +489,20 @@ namespace XCharts
|
||||
return rect.Contains(pos);
|
||||
}
|
||||
|
||||
public bool IsContainsAxisIndex(int index)
|
||||
public bool IsContainsAxis(Axis axis)
|
||||
{
|
||||
return xAxisIndexs.Contains(index);// || yAxisIndexs.Contains(index);
|
||||
if (axis is XAxis) return xAxisIndexs.Contains(axis.index);
|
||||
else if (axis is YAxis) return yAxisIndexs.Contains(axis.index);
|
||||
else return false;
|
||||
}
|
||||
public bool IsContainsXAxis(int index)
|
||||
{
|
||||
return xAxisIndexs != null && xAxisIndexs.Contains(index);
|
||||
}
|
||||
|
||||
public bool IsContainsYAxis(int index)
|
||||
{
|
||||
return yAxisIndexs != null && yAxisIndexs.Contains(index);
|
||||
}
|
||||
|
||||
public Color32 GetFillerColor(Color32 themeColor)
|
||||
@@ -957,7 +976,7 @@ namespace XCharts
|
||||
dataZoom.SetLabelActive(false);
|
||||
}
|
||||
}
|
||||
if (m_CheckDataZoomLabel)
|
||||
if (m_CheckDataZoomLabel && dataZoom.xAxisIndexs.Count > 0)
|
||||
{
|
||||
m_CheckDataZoomLabel = false;
|
||||
var xAxis = chart.GetXAxis(dataZoom.xAxisIndexs[0]);
|
||||
|
||||
@@ -1577,7 +1577,7 @@ namespace XCharts
|
||||
public List<SerieData> GetDataList(DataZoom dataZoom = null)
|
||||
{
|
||||
if (dataZoom != null && dataZoom.enable
|
||||
&& (dataZoom.xAxisIndexs.Contains(xAxisIndex) || dataZoom.yAxisIndexs.Contains(yAxisIndex)))
|
||||
&& (dataZoom.IsContainsXAxis(xAxisIndex) || dataZoom.IsContainsYAxis(yAxisIndex)))
|
||||
{
|
||||
SerieHelper.UpdateFilterData(this, dataZoom);
|
||||
return m_FilterData;
|
||||
|
||||
Reference in New Issue
Block a user