mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-19 06:50:18 +00:00
增加Serie和Axis的insertDataToHead参数控制数据插入头部还是尾部
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
|
||||
# 更新日志
|
||||
|
||||
[Latest](#master)
|
||||
[master](#master)
|
||||
[v2.1.1](#v2.1.1)
|
||||
[v2.1.0](#v2.1.0)
|
||||
[v2.0.1](#v2.0.1)
|
||||
@@ -34,6 +34,8 @@
|
||||
|
||||
## master
|
||||
|
||||
* (2021.05.20) Add the `insertDataHead` parameter to `Serie` and `Axis` to control whether data is inserted into the head or tail
|
||||
* (2021.05.18) Optimize chart creation under 'Editor' #147
|
||||
* (2021.05.16) Pull out the `Ganttchart` chart and provide it as an extension module
|
||||
* (2021.05.11) Added support for `VisualMap` to set color by `Piecewise`
|
||||
* (2021.05.09) Fixed an issue where `RingChart` could not set the background color of the ring #141
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
# 更新日志
|
||||
|
||||
[Latest](#master)
|
||||
[master](#master)
|
||||
[v2.1.1](#v2.1.1)
|
||||
[v2.1.0](#v2.1.0)
|
||||
[v2.0.1](#v2.0.1)
|
||||
@@ -34,6 +34,8 @@
|
||||
|
||||
## master
|
||||
|
||||
* (2021.05.20) 增加`Serie`和`Axis`的`insertDataToHead`参数控制数据插入头部还是尾部
|
||||
* (2021.05.18) 优化`Editor`下的图表创建 #147
|
||||
* (2021.05.16) 抽离`GanttChart`甘特图,通过扩展模块的方式来提供
|
||||
* (2021.05.11) 增加`VisualMap`对`Piecewise`分段设置颜色的支持
|
||||
* (2021.05.09) 修复`RingChart`无法设置环形的背景色的问题 #141
|
||||
|
||||
@@ -397,6 +397,7 @@
|
||||
* `boundaryGap`:坐标轴两边是否留白。默认为 `true`。
|
||||
* `maxCache`:类目数据中可缓存的最大数据量。默认为`0`没有限制,大于0时超过指定值会移除旧数据再插入新数据。
|
||||
* `inverse`:是否反向坐标轴。只在数值轴`Value`中有效。
|
||||
* `insertDataToHead`:添加新数据时是在列表的头部还是尾部加入。
|
||||
* `data`:类目数据,在类目轴(`type: 'Category'`)中有效。
|
||||
* `axisLine`:坐标轴轴线相关配置 [AxisLine](#AxisLine)。
|
||||
* `axisName`:坐标轴名称相关配置 [AxisName](#AxisName)。
|
||||
@@ -531,6 +532,7 @@
|
||||
* `emphasis`:高亮样式 [Emphasis](#Emphasis)。
|
||||
* `animation`:起始动画 [SerieAnimation](#SerieAnimation)。
|
||||
* `lineArrow`:折线图的箭头 [LineArrow](#LineArrow)。
|
||||
* `insertDataToHead`:添加新数据时是在列表的头部还是尾部加入。
|
||||
* `data`:系列中的数据项 [SerieData](#SerieData) 数组,可以设置`1`到`n`维数据。
|
||||
|
||||
## `Serie-Line`
|
||||
|
||||
@@ -395,6 +395,7 @@ The x axis in cartesian(rectangular) coordinate. a grid component can place at m
|
||||
* `boundaryGap`: The boundary gap on both sides of a coordinate axis.
|
||||
* `maxCache`: The max number of axis data cache. The first data will be remove when the size of axis data is larger then `maxCache`.
|
||||
* `inverse`: Whether the axis are reversed or not. Invalid in `Category` axis.
|
||||
* `insertDataToHead`: Whether to add new data at the head or at the end of the list.
|
||||
* `data`: Category data, valid in the `Category` axis.
|
||||
* `axisLine`: the style of axis line [AxisLine](#AxisLine).
|
||||
* `axisName`: the style of axis name [AxisName](#AxisName).
|
||||
@@ -472,6 +473,7 @@ Line chart serie.
|
||||
* `emphasis`: 高亮样式 [Emphasis](#Emphasis)。
|
||||
* `animation`: 起始动画 [SerieAnimation](#SerieAnimation)。
|
||||
* `lineArrow`: 折线图的箭头 [LineArrow](#LineArrow)。
|
||||
* `insertDataToHead`: Whether to add new data at the head or at the end of the list.
|
||||
* `data`: 系列中的数据项 [SerieData](#SerieData) 数组,可以设置`1`到`n`维数据。
|
||||
|
||||
## `Serie-Bar`
|
||||
|
||||
@@ -68,6 +68,8 @@ namespace XCharts
|
||||
PropertyField(prop, "m_SplitNumber");
|
||||
if (type == Axis.AxisType.Category)
|
||||
{
|
||||
PropertyField(prop, "m_InsertDataToHead");
|
||||
PropertyField(prop, "m_MaxCache");
|
||||
PropertyField(prop, "m_BoundaryGap");
|
||||
}
|
||||
else
|
||||
|
||||
@@ -44,6 +44,7 @@ namespace XCharts
|
||||
m_Heights[m_KeyName] += hig;
|
||||
|
||||
PropertyField(prop, "m_Name");
|
||||
PropertyField(prop, "m_InsertDataToHead");
|
||||
switch (serieType)
|
||||
{
|
||||
case SerieType.Line:
|
||||
|
||||
@@ -17,6 +17,7 @@ namespace XCharts.Examples
|
||||
{
|
||||
public int maxCacheDataNumber = 100;
|
||||
public float initDataTime = 2;
|
||||
public bool insertDataToHead = false;
|
||||
|
||||
private CoordinateChart chart;
|
||||
private float updateTime;
|
||||
@@ -36,6 +37,9 @@ namespace XCharts.Examples
|
||||
chart.xAxes[0].maxCache = maxCacheDataNumber;
|
||||
timeNow = DateTime.Now;
|
||||
timeNow = timeNow.AddSeconds(-maxCacheDataNumber);
|
||||
|
||||
serie.insertDataToHead = insertDataToHead;
|
||||
chart.xAxes[0].insertDataToHead = insertDataToHead;
|
||||
}
|
||||
|
||||
void Update()
|
||||
|
||||
@@ -198,7 +198,7 @@ namespace XCharts
|
||||
/// <returns>the added serie</returns>
|
||||
public virtual Serie AddSerie(SerieType type, string serieName = null, bool show = true, bool addToHead = false)
|
||||
{
|
||||
return m_Series.AddSerie(type, serieName, addToHead);
|
||||
return m_Series.AddSerie(type, serieName, show, addToHead);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
/************************************************/
|
||||
/* */
|
||||
/* Copyright (c) 2018 - 2021 monitor1394 */
|
||||
/* https://github.com/monitor1394 */
|
||||
/* */
|
||||
/************************************************/
|
||||
/******************************************/
|
||||
/* */
|
||||
/* Copyright (c) 2021 monitor1394 */
|
||||
/* https://github.com/monitor1394 */
|
||||
/* */
|
||||
/******************************************/
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -99,6 +99,7 @@ namespace XCharts
|
||||
[SerializeField] protected int m_CeilRate = 0;
|
||||
[SerializeField] protected bool m_Inverse = false;
|
||||
[SerializeField] private bool m_Clockwise = true;
|
||||
[SerializeField] private bool m_InsertDataToHead;
|
||||
[SerializeField] protected List<string> m_Data = new List<string>();
|
||||
[SerializeField] protected AxisLine m_AxisLine = AxisLine.defaultAxisLine;
|
||||
[SerializeField] protected AxisName m_AxisName = AxisName.defaultAxisName;
|
||||
@@ -340,6 +341,15 @@ namespace XCharts
|
||||
get { return m_SplitArea; }
|
||||
set { if (value != null) { m_SplitArea = value; SetVerticesDirty(); } }
|
||||
}
|
||||
/// <summary>
|
||||
/// Whether to add new data at the head or at the end of the list.
|
||||
/// 添加新数据时是在列表的头部还是尾部加入。
|
||||
/// </summary>
|
||||
public bool insertDataToHead
|
||||
{
|
||||
get { return m_InsertDataToHead; }
|
||||
set { if (PropertyUtil.SetStruct(ref m_InsertDataToHead, value)) SetAllDirty(); }
|
||||
}
|
||||
public override bool vertsDirty
|
||||
{
|
||||
get { return m_VertsDirty || axisLine.anyDirty || axisTick.anyDirty || splitLine.anyDirty || splitArea.anyDirty; }
|
||||
@@ -534,10 +544,11 @@ namespace XCharts
|
||||
while (m_Data.Count > maxCache)
|
||||
{
|
||||
m_NeedUpdateFilterData = true;
|
||||
m_Data.RemoveAt(0);
|
||||
m_Data.RemoveAt(m_InsertDataToHead ? m_Data.Count - 1 : 0);
|
||||
}
|
||||
}
|
||||
m_Data.Add(category);
|
||||
if (m_InsertDataToHead) m_Data.Insert(0, category);
|
||||
else m_Data.Add(category);
|
||||
SetAllDirty();
|
||||
}
|
||||
|
||||
@@ -682,7 +693,7 @@ namespace XCharts
|
||||
|
||||
internal void SetTooltipLabelActive(bool flag)
|
||||
{
|
||||
if(m_TooltipLabel == null) return;
|
||||
if (m_TooltipLabel == null) return;
|
||||
ChartHelper.SetActive(m_TooltipLabel, flag);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
/************************************************/
|
||||
/* */
|
||||
/* Copyright (c) 2018 - 2021 monitor1394 */
|
||||
/* https://github.com/monitor1394 */
|
||||
/* */
|
||||
/************************************************/
|
||||
/******************************************/
|
||||
/* */
|
||||
/* Copyright (c) 2021 monitor1394 */
|
||||
/* https://github.com/monitor1394 */
|
||||
/* */
|
||||
/******************************************/
|
||||
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
@@ -307,6 +307,7 @@ namespace XCharts
|
||||
[SerializeField] private float m_Right;
|
||||
[SerializeField] private float m_Top;
|
||||
[SerializeField] private float m_Bottom;
|
||||
[SerializeField] private bool m_InsertDataToHead;
|
||||
[SerializeField] private bool m_CustomBool1;
|
||||
[SerializeField] private bool m_CustomBool2;
|
||||
[SerializeField] private int m_CustomInt1;
|
||||
@@ -965,6 +966,15 @@ namespace XCharts
|
||||
set { if (PropertyUtil.SetStruct(ref m_CustomFloat2, value)) SetAllDirty(); }
|
||||
}
|
||||
/// <summary>
|
||||
/// Whether to add new data at the head or at the end of the list.
|
||||
/// 添加新数据时是在列表的头部还是尾部加入。
|
||||
/// </summary>
|
||||
public bool insertDataToHead
|
||||
{
|
||||
get { return m_InsertDataToHead; }
|
||||
set { if (PropertyUtil.SetStruct(ref m_InsertDataToHead, value)) SetAllDirty(); }
|
||||
}
|
||||
/// <summary>
|
||||
/// 系列中的数据内容数组。SerieData可以设置1到n维数据。
|
||||
/// </summary>
|
||||
public List<SerieData> data { get { return m_Data; } }
|
||||
@@ -1295,13 +1305,19 @@ namespace XCharts
|
||||
serieData.data.Add(value);
|
||||
serieData.name = dataName;
|
||||
serieData.index = xValue;
|
||||
m_Data.Add(serieData);
|
||||
AddSerieDataHeadOrTail(serieData);
|
||||
m_ShowDataDimension = 1;
|
||||
SetVerticesDirty();
|
||||
CheckDataName(dataName);
|
||||
return serieData;
|
||||
}
|
||||
|
||||
private void AddSerieDataHeadOrTail(SerieData serieData)
|
||||
{
|
||||
if (m_InsertDataToHead) m_Data.Insert(0, serieData);
|
||||
else m_Data.Add(serieData);
|
||||
}
|
||||
|
||||
private void CheckDataName(string dataName)
|
||||
{
|
||||
if (string.IsNullOrEmpty(dataName))
|
||||
@@ -1330,7 +1346,7 @@ namespace XCharts
|
||||
serieData.data.Add(yValue);
|
||||
serieData.name = dataName;
|
||||
serieData.index = m_Data.Count;
|
||||
m_Data.Add(serieData);
|
||||
AddSerieDataHeadOrTail(serieData);
|
||||
m_ShowDataDimension = 2;
|
||||
SetVerticesDirty();
|
||||
CheckDataName(dataName);
|
||||
@@ -1357,7 +1373,7 @@ namespace XCharts
|
||||
serieData.data.Add(heighest);
|
||||
serieData.name = dataName;
|
||||
serieData.index = m_Data.Count;
|
||||
m_Data.Add(serieData);
|
||||
AddSerieDataHeadOrTail(serieData);
|
||||
m_ShowDataDimension = 4;
|
||||
SetVerticesDirty();
|
||||
CheckDataName(dataName);
|
||||
@@ -1393,7 +1409,7 @@ namespace XCharts
|
||||
{
|
||||
serieData.data.Add(valueList[i]);
|
||||
}
|
||||
m_Data.Add(serieData);
|
||||
AddSerieDataHeadOrTail(serieData);
|
||||
SetVerticesDirty();
|
||||
CheckDataName(dataName);
|
||||
return serieData;
|
||||
@@ -1407,7 +1423,8 @@ namespace XCharts
|
||||
while (m_Data.Count > m_MaxCache)
|
||||
{
|
||||
m_NeedUpdateFilterData = true;
|
||||
RemoveData(0);
|
||||
if (m_InsertDataToHead) RemoveData(m_Data.Count - 1);
|
||||
else RemoveData(0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1854,7 +1871,7 @@ namespace XCharts
|
||||
}
|
||||
else serieData.name = txt.Replace("\"", "").Trim();
|
||||
}
|
||||
m_Data.Add(serieData);
|
||||
AddSerieDataHeadOrTail(serieData);
|
||||
}
|
||||
}
|
||||
else if (temp.IndexOf("value") > -1 && temp.IndexOf("name") > -1)
|
||||
@@ -1882,7 +1899,7 @@ namespace XCharts
|
||||
serieData.selected = bool.Parse(selected);
|
||||
}
|
||||
}
|
||||
m_Data.Add(serieData);
|
||||
AddSerieDataHeadOrTail(serieData);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -1896,7 +1913,7 @@ namespace XCharts
|
||||
{
|
||||
var serieData = new SerieData();
|
||||
serieData.data = new List<float>() { i, value };
|
||||
m_Data.Add(serieData);
|
||||
AddSerieDataHeadOrTail(serieData);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
using System.Linq;
|
||||
using System.Collections.ObjectModel;
|
||||
/************************************************/
|
||||
/* */
|
||||
/* Copyright (c) 2018 - 2021 monitor1394 */
|
||||
/* https://github.com/monitor1394 */
|
||||
/* */
|
||||
/************************************************/
|
||||
/******************************************/
|
||||
/* */
|
||||
/* Copyright (c) 2021 monitor1394 */
|
||||
/* https://github.com/monitor1394 */
|
||||
/* */
|
||||
/******************************************/
|
||||
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
/************************************************/
|
||||
/* */
|
||||
/* Copyright (c) 2018 - 2021 monitor1394 */
|
||||
/* https://github.com/monitor1394 */
|
||||
/* */
|
||||
/************************************************/
|
||||
/******************************************/
|
||||
/* */
|
||||
/* Copyright (c) 2021 monitor1394 */
|
||||
/* https://github.com/monitor1394 */
|
||||
/* */
|
||||
/******************************************/
|
||||
using UnityEngine;
|
||||
|
||||
namespace XCharts
|
||||
@@ -77,6 +77,10 @@ namespace XCharts
|
||||
else if (axis.type == Axis.AxisType.Category)
|
||||
{
|
||||
int dataCount = axis.GetDataList(dataZoom).Count;
|
||||
if (!axis.boundaryGap)
|
||||
{
|
||||
dataCount -= 1;
|
||||
}
|
||||
if (axis.splitNumber <= 0 || axis.splitNumber > dataCount) return dataCount;
|
||||
if (dataCount >= axis.splitNumber * 2) return axis.splitNumber;
|
||||
else return dataCount;
|
||||
@@ -170,15 +174,33 @@ namespace XCharts
|
||||
if (dataCount <= 0) return "";
|
||||
int rate = axis.boundaryGap ? (dataCount / split) : (dataCount - 1) / split;
|
||||
if (rate == 0) rate = 1;
|
||||
int newIndex = index * rate;
|
||||
if (newIndex <= dataCount - 1)
|
||||
if (axis.insertDataToHead)
|
||||
{
|
||||
return axis.axisLabel.GetFormatterContent(showData[newIndex]);
|
||||
if (index > 0)
|
||||
{
|
||||
var residue = (dataCount - 1) - split * rate;
|
||||
var newIndex = residue + (index - 1) * rate;
|
||||
if (newIndex < 0) newIndex = 0;
|
||||
return axis.axisLabel.GetFormatterContent(showData[newIndex]);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (axis.boundaryGap && coordinateWidth / dataCount > 5) return string.Empty;
|
||||
else return axis.axisLabel.GetFormatterContent(showData[0]);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (axis.boundaryGap && coordinateWidth / dataCount > 10) return string.Empty;
|
||||
else return axis.axisLabel.GetFormatterContent(showData[dataCount - 1]);
|
||||
int newIndex = index * rate;
|
||||
if (newIndex < dataCount)
|
||||
{
|
||||
return axis.axisLabel.GetFormatterContent(showData[newIndex]);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (axis.boundaryGap && coordinateWidth / dataCount > 5) return string.Empty;
|
||||
else return axis.axisLabel.GetFormatterContent(showData[dataCount - 1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -195,14 +217,15 @@ namespace XCharts
|
||||
{
|
||||
var data = axis.GetDataList(dataZoom);
|
||||
var scaleNum = 0;
|
||||
|
||||
if (axis.boundaryGap)
|
||||
{
|
||||
scaleNum = data.Count % splitNum == 0 ? splitNum : splitNum + 1;
|
||||
scaleNum = data.Count % splitNum == 0 ? splitNum + 1 : splitNum + 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (data.Count - 1 < splitNum) scaleNum = splitNum;
|
||||
else scaleNum = (data.Count - 1) % splitNum == 0 ? splitNum + 1 : splitNum + 1;
|
||||
if (data.Count < splitNum) scaleNum = splitNum;
|
||||
else scaleNum = data.Count % splitNum == 0 ? splitNum : splitNum + 1;
|
||||
}
|
||||
return scaleNum;
|
||||
}
|
||||
@@ -245,15 +268,33 @@ namespace XCharts
|
||||
int tick = count / splitNum;
|
||||
if (count <= 0) return 0;
|
||||
var each = coordinateWidth / count;
|
||||
if (index >= num)
|
||||
if (axis.insertDataToHead)
|
||||
{
|
||||
if (axis.axisTick.alignWithLabel) return each * tick;
|
||||
else return coordinateWidth - each * tick * (index - 1);
|
||||
var max = axis.boundaryGap ? splitNum : splitNum - 1;
|
||||
if (index == 1)
|
||||
{
|
||||
if (axis.axisTick.alignWithLabel) return each * tick;
|
||||
else return coordinateWidth - each * tick * max;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (count < splitNum) return each;
|
||||
else return each * (count / splitNum);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (count < splitNum) return each;
|
||||
else return each * (count / splitNum);
|
||||
var max = axis.boundaryGap ? num - 1 : num;
|
||||
if (index >= max)
|
||||
{
|
||||
if (axis.axisTick.alignWithLabel) return each * tick;
|
||||
else return coordinateWidth - each * tick * (index - 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (count < splitNum) return each;
|
||||
else return each * (count / splitNum);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
/************************************************/
|
||||
/* */
|
||||
/* Copyright (c) 2018 - 2021 monitor1394 */
|
||||
/* https://github.com/monitor1394 */
|
||||
/* */
|
||||
/************************************************/
|
||||
/******************************************/
|
||||
/* */
|
||||
/* Copyright (c) 2021 monitor1394 */
|
||||
/* https://github.com/monitor1394 */
|
||||
/* */
|
||||
/******************************************/
|
||||
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
/************************************************/
|
||||
/* */
|
||||
/* Copyright (c) 2018 - 2021 monitor1394 */
|
||||
/* https://github.com/monitor1394 */
|
||||
/* */
|
||||
/************************************************/
|
||||
/******************************************/
|
||||
/* */
|
||||
/* Copyright (c) 2021 monitor1394 */
|
||||
/* https://github.com/monitor1394 */
|
||||
/* */
|
||||
/******************************************/
|
||||
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
@@ -549,6 +549,7 @@ namespace XCharts
|
||||
float totalWidth = 0;
|
||||
float eachWidth = AxisHelper.GetEachWidth(yAxis, grid.runtimeHeight, dataZoom);
|
||||
float gapWidth = yAxis.boundaryGap ? eachWidth / 2 : 0;
|
||||
if (yAxis.IsCategory()) splitNumber += 1;
|
||||
for (int i = 0; i < splitNumber; i++)
|
||||
{
|
||||
ChartText txt;
|
||||
@@ -666,6 +667,7 @@ namespace XCharts
|
||||
float eachWidth = AxisHelper.GetEachWidth(xAxis, grid.runtimeWidth, dataZoom);
|
||||
float gapWidth = xAxis.boundaryGap ? eachWidth / 2 : 0;
|
||||
float textWidth = AxisHelper.GetScaleWidth(xAxis, grid.runtimeWidth, 0, dataZoom);
|
||||
//if (xAxis.IsCategory() && xAxis.boundaryGap) splitNumber += 1;
|
||||
for (int i = 0; i < splitNumber; i++)
|
||||
{
|
||||
var labelWidth = AxisHelper.GetScaleWidth(xAxis, grid.runtimeWidth, i + 1, dataZoom);
|
||||
@@ -1046,7 +1048,7 @@ namespace XCharts
|
||||
var grid = GetAxisGridOrDefault(yAxis);
|
||||
var size = AxisHelper.GetScaleNumber(yAxis, grid.runtimeWidth, dataZoom);
|
||||
var totalWidth = grid.runtimeY;
|
||||
for (int i = 0; i <= size; i++)
|
||||
for (int i = 0; i < size; i++)
|
||||
{
|
||||
var scaleWidth = AxisHelper.GetScaleWidth(yAxis, grid.runtimeHeight, i + 1, dataZoom);
|
||||
if (i == 0 && (!yAxis.axisTick.showStartTick || yAxis.axisTick.alignWithLabel))
|
||||
@@ -1054,7 +1056,7 @@ namespace XCharts
|
||||
totalWidth += scaleWidth;
|
||||
continue;
|
||||
}
|
||||
if (i == size && !yAxis.axisTick.showEndTick)
|
||||
if (i == size - 1 && !yAxis.axisTick.showEndTick)
|
||||
{
|
||||
totalWidth += scaleWidth;
|
||||
continue;
|
||||
@@ -1163,7 +1165,7 @@ namespace XCharts
|
||||
var size = AxisHelper.GetScaleNumber(xAxis, grid.runtimeWidth, dataZoom);
|
||||
var totalWidth = grid.runtimeX;
|
||||
var yAxis = m_YAxes[xAxisIndex];
|
||||
for (int i = 0; i <= size; i++)
|
||||
for (int i = 0; i < size; i++)
|
||||
{
|
||||
var scaleWidth = AxisHelper.GetScaleWidth(xAxis, grid.runtimeWidth, i + 1, dataZoom);
|
||||
if (i == 0 && (!xAxis.axisTick.showStartTick || xAxis.axisTick.alignWithLabel))
|
||||
@@ -1171,7 +1173,7 @@ namespace XCharts
|
||||
totalWidth += scaleWidth;
|
||||
continue;
|
||||
}
|
||||
if (i == size && !xAxis.axisTick.showEndTick)
|
||||
if (i == size - 1 && !xAxis.axisTick.showEndTick)
|
||||
{
|
||||
totalWidth += scaleWidth;
|
||||
continue;
|
||||
|
||||
Reference in New Issue
Block a user