在StackedColumn图表中鼠标悬停预览而不是数据点

时间:2011-02-03 19:32:45

标签: javascript javascript-events map mschart

我有一个StackedColumn图表,我想添加一个鼠标悬停预览。目前我正在循环阅读一系列的要点以添加执行此操作的功能。

这使得列中的每个系列都会执行鼠标悬停/鼠标移除。我希望它为列进行单次鼠标悬停/鼠标移除。建议?

1 个答案:

答案 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);
    }
}