mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-25 18:30:14 +00:00
修复BarChart清空数据重新赋值后SerieLabel显示异常的问题
This commit is contained in:
@@ -1,7 +1,8 @@
|
|||||||
|
|
||||||
# 更新日志
|
# 更新日志
|
||||||
|
|
||||||
* (2019.11.16) 修复`SerieLabel`设置`color`不生效的问题
|
* (2019.11.22) 修复`BarChart`清空数据重新赋值后`SerieLabel`显示异常的问题
|
||||||
|
* (2019.11.16) 修复`SerieLabel`设置`color`等参数不生效的问题
|
||||||
* (2019.11.12) 发布`v1.0.5`版本
|
* (2019.11.12) 发布`v1.0.5`版本
|
||||||
* (2019.11.12) 修复`2018.3`以下版本打开项目报错的问题
|
* (2019.11.12) 修复`2018.3`以下版本打开项目报错的问题
|
||||||
* (2019.11.12) 增加`IconStyle`子组件,优化`SerieData`的图标配置
|
* (2019.11.12) 增加`IconStyle`子组件,优化`SerieData`的图标配置
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ namespace XCharts
|
|||||||
/// 标志位置。
|
/// 标志位置。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Vector3 labelPosition { get; set; }
|
public Vector3 labelPosition { get; set; }
|
||||||
public bool m_CanShowLabel = true;
|
private bool m_CanShowLabel = true;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否可以显示Label
|
/// 是否可以显示Label
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ namespace XCharts
|
|||||||
if (!yAxis.show) yAxis = m_YAxises[(serie.axisIndex + 1) % m_YAxises.Count];
|
if (!yAxis.show) yAxis = m_YAxises[(serie.axisIndex + 1) % m_YAxises.Count];
|
||||||
|
|
||||||
var showData = serie.GetDataList(m_DataZoom);
|
var showData = serie.GetDataList(m_DataZoom);
|
||||||
float categoryWidth = yAxis.GetDataWidth(coordinateHeight,showData.Count, m_DataZoom);
|
float categoryWidth = yAxis.GetDataWidth(coordinateHeight, showData.Count, m_DataZoom);
|
||||||
float barGap = GetBarGap();
|
float barGap = GetBarGap();
|
||||||
float totalBarWidth = GetBarTotalWidth(categoryWidth, barGap);
|
float totalBarWidth = GetBarTotalWidth(categoryWidth, barGap);
|
||||||
float barWidth = serie.GetBarWidth(categoryWidth);
|
float barWidth = serie.GetBarWidth(categoryWidth);
|
||||||
@@ -49,6 +49,8 @@ namespace XCharts
|
|||||||
{
|
{
|
||||||
seriesHig.Add(0);
|
seriesHig.Add(0);
|
||||||
}
|
}
|
||||||
|
var serieData = showData[i];
|
||||||
|
serieData.canShowLabel = true;
|
||||||
float value = showData[i].data[1];
|
float value = showData[i].data[1];
|
||||||
float pX = seriesHig[i] + coordinateX + xAxis.runtimeZeroXOffset + yAxis.axisLine.width;
|
float pX = seriesHig[i] + coordinateX + xAxis.runtimeZeroXOffset + yAxis.axisLine.width;
|
||||||
float pY = coordinateY + +i * categoryWidth;
|
float pY = coordinateY + +i * categoryWidth;
|
||||||
@@ -59,14 +61,15 @@ namespace XCharts
|
|||||||
if (isPercentStack)
|
if (isPercentStack)
|
||||||
{
|
{
|
||||||
valueTotal = GetSameStackTotalValue(serie.stack, i);
|
valueTotal = GetSameStackTotalValue(serie.stack, i);
|
||||||
barHig = value / valueTotal * coordinateWidth;
|
barHig = valueTotal != 0 ? (value / valueTotal * coordinateWidth) : 0;
|
||||||
seriesHig[i] += barHig;
|
seriesHig[i] += barHig;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
valueTotal = xAxis.runtimeMaxValue - xAxis.runtimeMinValue;
|
valueTotal = xAxis.runtimeMaxValue - xAxis.runtimeMinValue;
|
||||||
barHig = (xAxis.runtimeMinValue > 0 ? value - xAxis.runtimeMinValue : value)
|
if (valueTotal != 0)
|
||||||
/ valueTotal * coordinateWidth;
|
barHig = (xAxis.runtimeMinValue > 0 ? value - xAxis.runtimeMinValue : value)
|
||||||
|
/ valueTotal * coordinateWidth;
|
||||||
seriesHig[i] += barHig;
|
seriesHig[i] += barHig;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -132,7 +135,7 @@ namespace XCharts
|
|||||||
var xAxis = m_XAxises[serie.axisIndex];
|
var xAxis = m_XAxises[serie.axisIndex];
|
||||||
if (!xAxis.show) xAxis = m_XAxises[(serie.axisIndex + 1) % m_XAxises.Count];
|
if (!xAxis.show) xAxis = m_XAxises[(serie.axisIndex + 1) % m_XAxises.Count];
|
||||||
|
|
||||||
float categoryWidth = xAxis.GetDataWidth(coordinateWidth,showData.Count, m_DataZoom);
|
float categoryWidth = xAxis.GetDataWidth(coordinateWidth, showData.Count, m_DataZoom);
|
||||||
float barGap = GetBarGap();
|
float barGap = GetBarGap();
|
||||||
float totalBarWidth = GetBarTotalWidth(categoryWidth, barGap);
|
float totalBarWidth = GetBarTotalWidth(categoryWidth, barGap);
|
||||||
float barWidth = serie.GetBarWidth(categoryWidth);
|
float barWidth = serie.GetBarWidth(categoryWidth);
|
||||||
@@ -158,6 +161,8 @@ namespace XCharts
|
|||||||
{
|
{
|
||||||
seriesHig.Add(0);
|
seriesHig.Add(0);
|
||||||
}
|
}
|
||||||
|
var serieData = showData[i];
|
||||||
|
serieData.canShowLabel = true;
|
||||||
float value = showData[i].data[1];
|
float value = showData[i].data[1];
|
||||||
float pX = coordinateX + i * categoryWidth;
|
float pX = coordinateX + i * categoryWidth;
|
||||||
float zeroY = coordinateY + yAxis.runtimeZeroYOffset;
|
float zeroY = coordinateY + yAxis.runtimeZeroYOffset;
|
||||||
@@ -169,14 +174,15 @@ namespace XCharts
|
|||||||
if (isPercentStack)
|
if (isPercentStack)
|
||||||
{
|
{
|
||||||
valueTotal = GetSameStackTotalValue(serie.stack, i);
|
valueTotal = GetSameStackTotalValue(serie.stack, i);
|
||||||
barHig = value / valueTotal * coordinateHeight;
|
barHig = valueTotal != 0 ? (value / valueTotal * coordinateHeight) : 0;
|
||||||
seriesHig[i] += barHig;
|
seriesHig[i] += barHig;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
valueTotal = yAxis.runtimeMaxValue - yAxis.runtimeMinValue;
|
valueTotal = yAxis.runtimeMaxValue - yAxis.runtimeMinValue;
|
||||||
barHig = (yAxis.runtimeMinValue > 0 ? value - yAxis.runtimeMinValue : value)
|
if (valueTotal != 0)
|
||||||
/ valueTotal * coordinateHeight;
|
barHig = (yAxis.runtimeMinValue > 0 ? value - yAxis.runtimeMinValue : value)
|
||||||
|
/ valueTotal * coordinateHeight;
|
||||||
seriesHig[i] += barHig;
|
seriesHig[i] += barHig;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user