如何在带有辅助系列的图表上显示/隐藏数据提示

发布于 2024-10-17 03:50:19 字数 495 浏览 5 评论 0原文

我有一个折线图和一个柱形图作为辅助系列。当我将鼠标悬停在该线上时,会出现数据提示。但是,如果我将鼠标移动到仍在线上出现列的位置,则会出现该行和该列的数据提示项。如何获取它以便只显示行的数据提示而不显示列的数据提示?

<mx:AreaChart id="areachart" dataProvider="{data}" showDataTips="true" >
    <mx:series>

    <mx:AreaSeries id="areaSeries" xField="date" yField="volume" >
    </mx:AreaSeries>


    <mx:ColumnSeries id="secondSeries" xField="date" yField="name" >
    </mx:ColumnSeries>

    </mx:series>

</mx:AreaChart>

I have a line chart with a column chart as a secondary series. When I roll over the line, the datatips appear. However, if I move the mouse to a spot where a column appears while still on the line, the data tip item appears for the line AND the column. How do I get it so that I only show datatips for the line but not the column?

<mx:AreaChart id="areachart" dataProvider="{data}" showDataTips="true" >
    <mx:series>

    <mx:AreaSeries id="areaSeries" xField="date" yField="volume" >
    </mx:AreaSeries>


    <mx:ColumnSeries id="secondSeries" xField="date" yField="name" >
    </mx:ColumnSeries>

    </mx:series>

</mx:AreaChart>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夏末染殇 2024-10-24 03:50:19

或者,您可以将列的交互属性设置为 false:

   <mx:ColumnSeries id="secondSeries" xField="date" yField="name" interactive="false">
   </mx:ColumnSeries>

这将阻止列响应鼠标输入。

Alternatively you can set the interactive property of the column to false:

   <mx:ColumnSeries id="secondSeries" xField="date" yField="name" interactive="false">
   </mx:ColumnSeries>

This will prevent the columns from responding to mouse input.

凡间太子 2024-10-24 03:50:19

子类 AreaChart 并重写 findDataPoints 方法以过滤掉您不需要的数据点:

public class CustomAreaChart extends AreaChart
{
    public override function findDataPoints(x:Number, y:Number):Array
    {
        var originalDPs : Array = super.findDataPoints(x, y);
        var filteredDPs : Array = [];

        for each (var hd : HitData in originalDPs)
        {
            if (hd.chartItem.element is AreaSeries)
                filteredDPs.push(hd);
        }

        return filteredDPs;
    }
}

然后使用这个新类代替 AreaChart。

Subclass AreaChart and override findDataPoints method to filter out the data points you don't want:

public class CustomAreaChart extends AreaChart
{
    public override function findDataPoints(x:Number, y:Number):Array
    {
        var originalDPs : Array = super.findDataPoints(x, y);
        var filteredDPs : Array = [];

        for each (var hd : HitData in originalDPs)
        {
            if (hd.chartItem.element is AreaSeries)
                filteredDPs.push(hd);
        }

        return filteredDPs;
    }
}

And then use this new class instead of AreaChart.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文