我有一个StackedColumn图表,我想添加一个鼠标悬停预览。目前我正在循环阅读一系列的要点以添加执行此操作的功能。
这使得列中的每个系列都会执行鼠标悬停/鼠标移除。我希望它为列进行单次鼠标悬停/鼠标移除。建议?
答案 0 :(得分:0)
好的,不是一个受欢迎的问题。
我偶然发现了CustomizeMapAreas事件。在那里,我循环通过e.MapAreaItems
并调整区域的大小,以便整个列只有一个区域。然后我删除了我不再需要的区域。这可能不是最有效的方法,但在这里......
protected void FixStackedColumnAreas(object sender, CustomizeMapAreasEventArgs e)
{
Dictionary<float, MapArea> newAreas = new Dictionary<float, MapArea>();
//loop through all areas and collect the Min and Max Y values for each X
foreach (MapArea area in e.MapAreaItems)
{
if (!newAreas.ContainsKey(area.Coordinates[0]))
{
newAreas.Add(area.Coordinates[0], area);
}
else
{
//get the lowest and highest Y for this X column area
newAreas[area.Coordinates[0]].Coordinates[1] = Math.Min(newAreas[area.Coordinates[0]].Coordinates[1], area.Coordinates[1]);
newAreas[area.Coordinates[0]].Coordinates[3] = Math.Max(newAreas[area.Coordinates[0]].Coordinates[3], area.Coordinates[3]);
}
}
//clear out existing areas
e.MapAreaItems.Clear();
//put in our new areas that define the whole column area instead of the individual pieces of the column
foreach (MapArea area in newAreas.Values)
{
e.MapAreaItems.Add(area);
}
}