5

我意识到 AndroidPlot 有一个论坛,但它不是最活跃的,所以我会在这里碰碰运气......

我正在尝试使用 AndroidPlot 库从我的 XY 图中删除系列指标或图例。我不想从情节本身中删除该系列,只是传说。

我已经在 AndroidPlot 示例上看到它完成了,但是由于文档有限,很难找到方法来完成诸如删除图例之类的事情

4

4 回答 4

9

好的,我有以下代码来执行此操作。这没有在最新版本上进行测试,但希望仍然很好。

    if (!mKeyOn)
        mDynamicPlot.getLayoutManager()
                .remove(mDynamicPlot.getLegendWidget());
    if (!mDomainLabelOn)
        mDynamicPlot.getLayoutManager().remove(
                mDynamicPlot.getDomainLabelWidget());

看起来诀窍是获取 layoutManager。

于 2012-11-16T09:28:56.930 回答
6

您还可以将 Androidplot 的XML 样式与 Configurator 一起使用,并且由于反射,只需在 XML 布局文件中指定它的可见性即可删除图例,如下所示:

<com.androidplot.xy.XYPlot
...
    androidPlot.legendWidget.visible="false"
... />

如果不需要动态更改您的图例,我认为最好将这样的样式放在 XML 文件中。

于 2014-03-02T01:09:03.547 回答
5

查看代码,setLegendWidget仅更新 LegendWidget 的本地句柄,但不更新 LayoutManager,这是在进行绘图时实际调用的内容。如果您实施 Ifor 的(赞成)建议,您应该会成功,因为它直接与 LayoutManager 交互:

plot.getLayoutManager().remove(plot.getDomainLabelWidget());  

另一种选择是像这样隐藏图例:

plot.getLegendWidget().setVisible(false);

前提是(根据上面的信息)您没有尝试用之前调用 setLegendWidget() 来替换/删除图例小部件。

于 2012-11-16T22:03:00.893 回答
1

如果您只想从图例小部件中删除一个(或特定)系列图例,只需使用:

yourSeriesFormater.setLegendIconEnabled(false);

这对我有用。

于 2017-07-20T21:36:22.887 回答