diff --git a/Assets/XCharts/Runtime/Component/Main/Tooltip.cs b/Assets/XCharts/Runtime/Component/Main/Tooltip.cs
index a62a8273..e7396170 100644
--- a/Assets/XCharts/Runtime/Component/Main/Tooltip.cs
+++ b/Assets/XCharts/Runtime/Component/Main/Tooltip.cs
@@ -208,7 +208,7 @@ namespace XCharts
///
/// 当前提示框所指示的Serie索引(目前只对散点图有效)。
///
- public Dictionary> runtimeSerieDataIndex { get; internal set; }
+ public Dictionary> runtimeSerieIndex { get; internal set; }
///
/// The data index currently indicated by Tooltip.
/// 当前提示框所指示的数据项索引。
@@ -261,7 +261,7 @@ namespace XCharts
runtimeYValues = new float[2] { -1, -1 },
runtimeDataIndex = new List() { -1, -1 },
lastDataIndex = new List() { -1, -1 },
- runtimeSerieDataIndex = new Dictionary>()
+ runtimeSerieIndex = new Dictionary>()
};
return tooltip;
}
@@ -458,7 +458,7 @@ namespace XCharts
public void ClearSerieDataIndex()
{
- foreach (var kv in runtimeSerieDataIndex)
+ foreach (var kv in runtimeSerieIndex)
{
kv.Value.Clear();
}
@@ -466,16 +466,16 @@ namespace XCharts
public void AddSerieDataIndex(int serieIndex, int dataIndex)
{
- if (!runtimeSerieDataIndex.ContainsKey(serieIndex))
+ if (!runtimeSerieIndex.ContainsKey(serieIndex))
{
- runtimeSerieDataIndex[serieIndex] = new List();
+ runtimeSerieIndex[serieIndex] = new List();
}
- runtimeSerieDataIndex[serieIndex].Add(dataIndex);
+ runtimeSerieIndex[serieIndex].Add(dataIndex);
}
public bool isAnySerieDataIndex()
{
- foreach (var kv in runtimeSerieDataIndex)
+ foreach (var kv in runtimeSerieIndex)
{
if (kv.Value.Count > 0) return true;
}
diff --git a/Assets/XCharts/Runtime/Internal/Helper/TooltipHelper.cs b/Assets/XCharts/Runtime/Internal/Helper/TooltipHelper.cs
index de0a4b46..8e1ba3d1 100644
--- a/Assets/XCharts/Runtime/Internal/Helper/TooltipHelper.cs
+++ b/Assets/XCharts/Runtime/Internal/Helper/TooltipHelper.cs
@@ -15,8 +15,8 @@ namespace XCharts
private static void InitScatterTooltip(ref StringBuilder sb, Tooltip tooltip, Serie serie, int index,
ThemeInfo themeInfo)
{
- if (!tooltip.runtimeSerieDataIndex.ContainsKey(serie.index)) return;
- var dataIndexList = tooltip.runtimeSerieDataIndex[serie.index];
+ if (!tooltip.runtimeSerieIndex.ContainsKey(serie.index)) return;
+ var dataIndexList = tooltip.runtimeSerieIndex[serie.index];
if (!string.IsNullOrEmpty(serie.name))
{
sb.Append(serie.name).Append(FormatterHelper.PH_NN);
@@ -222,7 +222,7 @@ namespace XCharts
FormatterHelper.ReplaceContent(ref itemTitle, dataIndex, tooltip.numericFormatter, serie, series, themeInfo, category, dataZoom);
sb.Append(itemTitle).Append(FormatterHelper.PH_NN);
}
- var dataIndexList = tooltip.runtimeSerieDataIndex[serie.index];
+ var dataIndexList = tooltip.runtimeSerieIndex[serie.index];
foreach (var tempIndex in dataIndexList)
{
string content = itemFormatter;
@@ -235,7 +235,7 @@ namespace XCharts
}
}
}
- else if (tooltip.runtimeDataIndex[serie.index] >= 0)
+ else if (IsNeedTooltipSerie(serie, tooltip))
{
var serieData = serie.GetSerieData(dataIndex, dataZoom);
if (serieData == null) continue;
@@ -289,11 +289,23 @@ namespace XCharts
}
}
+ private static bool IsNeedTooltipSerie(Serie serie, Tooltip tooltip)
+ {
+ if (serie.type == SerieType.Pie || serie.type == SerieType.Radar || serie.type == SerieType.Ring)
+ {
+ return tooltip.runtimeDataIndex[serie.index] >= 0;
+ }
+ else
+ {
+ return true;
+ }
+ }
+
private static bool IsSelectedSerie(Tooltip tooltip, int serieIndex)
{
- if (tooltip.runtimeSerieDataIndex.ContainsKey(serieIndex))
+ if (tooltip.runtimeSerieIndex.ContainsKey(serieIndex))
{
- return tooltip.runtimeSerieDataIndex[serieIndex].Count > 0;
+ return tooltip.runtimeSerieIndex[serieIndex].Count > 0;
}
return false;
}