mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-23 17:30:10 +00:00
增加Custom类型的Serie的tooltip自定义
This commit is contained in:
@@ -10,6 +10,7 @@ using System.Collections.Generic;
|
|||||||
using System;
|
using System;
|
||||||
using UnityEngine.UI;
|
using UnityEngine.UI;
|
||||||
using UnityEngine.EventSystems;
|
using UnityEngine.EventSystems;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
namespace XCharts
|
namespace XCharts
|
||||||
{
|
{
|
||||||
@@ -738,5 +739,9 @@ namespace XCharts
|
|||||||
{
|
{
|
||||||
return m_LegendRealShowName.IndexOf(name);
|
return m_LegendRealShowName.IndexOf(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public virtual void InitCustomSerieTooltip(ref StringBuilder stringBuilder, Serie serie, int index)
|
||||||
|
{
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -586,7 +586,8 @@ namespace XCharts
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
internal List<string> GetDataList(){
|
internal List<string> GetDataList()
|
||||||
|
{
|
||||||
return m_Data.Count > 0 ? m_Data : m_RuntimeData;
|
return m_Data.Count > 0 ? m_Data : m_RuntimeData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,9 +4,7 @@
|
|||||||
/* https://github.com/monitor1394 */
|
/* https://github.com/monitor1394 */
|
||||||
/* */
|
/* */
|
||||||
/************************************************/
|
/************************************************/
|
||||||
using System.Text;
|
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.UI;
|
|
||||||
|
|
||||||
namespace XCharts
|
namespace XCharts
|
||||||
{
|
{
|
||||||
@@ -149,7 +147,6 @@ namespace XCharts
|
|||||||
minValue = -minValue;
|
minValue = -minValue;
|
||||||
maxValue = -maxValue;
|
maxValue = -maxValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (forcePercent) return string.Format("{0}%", (int)value);
|
if (forcePercent) return string.Format("{0}%", (int)value);
|
||||||
else return axis.axisLabel.GetFormatterContent(value, minValue, maxValue);
|
else return axis.axisLabel.GetFormatterContent(value, minValue, maxValue);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -189,13 +189,14 @@ namespace XCharts
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void InitCoordinateTooltip(ref StringBuilder sb, Tooltip tooltip, Serie serie, int index,
|
public static void InitCoordinateTooltip(ref StringBuilder sb, Tooltip tooltip, Serie serie, int index,
|
||||||
ChartTheme theme, bool isCartesian, DataZoom dataZoom = null)
|
ChartTheme theme, bool isCartesian, DataZoom dataZoom = null)
|
||||||
{
|
{
|
||||||
string key = serie.name;
|
string key = serie.name;
|
||||||
float xValue, yValue;
|
float xValue, yValue;
|
||||||
serie.GetXYData(index, dataZoom, out xValue, out yValue);
|
serie.GetXYData(index, dataZoom, out xValue, out yValue);
|
||||||
var isIngore = serie.IsIgnorePoint(index);
|
var isIngore = serie.IsIgnorePoint(index);
|
||||||
|
if(isIngore) return;
|
||||||
var serieData = serie.GetSerieData(index, dataZoom);
|
var serieData = serie.GetSerieData(index, dataZoom);
|
||||||
var numericFormatter = GetItemNumericFormatter(tooltip, serie, serieData);
|
var numericFormatter = GetItemNumericFormatter(tooltip, serie, serieData);
|
||||||
if (isCartesian)
|
if (isCartesian)
|
||||||
@@ -242,7 +243,7 @@ namespace XCharts
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static void InitDefaultContent(ref StringBuilder sb, Tooltip tooltip, Serie serie, int index,
|
private static void InitDefaultContent(ref StringBuilder sb, Tooltip tooltip, Serie serie, int index,
|
||||||
ChartTheme theme = null, DataZoom dataZoom = null, bool isCartesian = false,
|
BaseChart chart, DataZoom dataZoom = null, bool isCartesian = false,
|
||||||
Radar radar = null)
|
Radar radar = null)
|
||||||
{
|
{
|
||||||
switch (serie.type)
|
switch (serie.type)
|
||||||
@@ -250,28 +251,31 @@ namespace XCharts
|
|||||||
case SerieType.Line:
|
case SerieType.Line:
|
||||||
case SerieType.Bar:
|
case SerieType.Bar:
|
||||||
case SerieType.Candlestick:
|
case SerieType.Candlestick:
|
||||||
InitCoordinateTooltip(ref sb, tooltip, serie, index, theme, isCartesian, dataZoom);
|
InitCoordinateTooltip(ref sb, tooltip, serie, index, chart.theme, isCartesian, dataZoom);
|
||||||
break;
|
break;
|
||||||
case SerieType.Scatter:
|
case SerieType.Scatter:
|
||||||
case SerieType.EffectScatter:
|
case SerieType.EffectScatter:
|
||||||
InitScatterTooltip(ref sb, tooltip, serie, index, theme);
|
InitScatterTooltip(ref sb, tooltip, serie, index, chart.theme);
|
||||||
break;
|
break;
|
||||||
case SerieType.Radar:
|
case SerieType.Radar:
|
||||||
InitRadarTooltip(ref sb, tooltip, serie, radar, theme);
|
InitRadarTooltip(ref sb, tooltip, serie, radar, chart.theme);
|
||||||
break;
|
break;
|
||||||
case SerieType.Pie:
|
case SerieType.Pie:
|
||||||
InitPieTooltip(ref sb, tooltip, serie, index, theme);
|
InitPieTooltip(ref sb, tooltip, serie, index, chart.theme);
|
||||||
break;
|
break;
|
||||||
case SerieType.Ring:
|
case SerieType.Ring:
|
||||||
InitRingTooltip(ref sb, tooltip, serie, index, theme);
|
InitRingTooltip(ref sb, tooltip, serie, index, chart.theme);
|
||||||
break;
|
break;
|
||||||
case SerieType.Heatmap:
|
case SerieType.Heatmap:
|
||||||
break;
|
break;
|
||||||
case SerieType.Gauge:
|
case SerieType.Gauge:
|
||||||
InitGaugeTooltip(ref sb, tooltip, serie, index, theme);
|
InitGaugeTooltip(ref sb, tooltip, serie, index, chart.theme);
|
||||||
break;
|
break;
|
||||||
case SerieType.Gantt:
|
case SerieType.Gantt:
|
||||||
InitGanttTooltip(ref sb, tooltip, serie, index, theme);
|
InitGanttTooltip(ref sb, tooltip, serie, index, chart.theme);
|
||||||
|
break;
|
||||||
|
case SerieType.Custom:
|
||||||
|
chart.InitCustomSerieTooltip(ref sb, serie, index);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -401,7 +405,7 @@ namespace XCharts
|
|||||||
if (string.IsNullOrEmpty(itemFormatter))
|
if (string.IsNullOrEmpty(itemFormatter))
|
||||||
{
|
{
|
||||||
if (!first) sb.Append(FormatterHelper.PH_NN);
|
if (!first) sb.Append(FormatterHelper.PH_NN);
|
||||||
InitDefaultContent(ref sb, tooltip, serie, dataIndex, chart.theme, dataZoom, isCartesian, radar);
|
InitDefaultContent(ref sb, tooltip, serie, dataIndex, chart, dataZoom, isCartesian, radar);
|
||||||
first = false;
|
first = false;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -449,7 +453,7 @@ namespace XCharts
|
|||||||
if (string.IsNullOrEmpty(itemFormatter) || serie.type == SerieType.Radar)
|
if (string.IsNullOrEmpty(itemFormatter) || serie.type == SerieType.Radar)
|
||||||
{
|
{
|
||||||
if (!first) sb.Append(FormatterHelper.PH_NN);
|
if (!first) sb.Append(FormatterHelper.PH_NN);
|
||||||
InitDefaultContent(ref sb, tooltip, serie, dataIndex, chart.theme, dataZoom, isCartesian, radar);
|
InitDefaultContent(ref sb, tooltip, serie, dataIndex, chart, dataZoom, isCartesian, radar);
|
||||||
first = false;
|
first = false;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user