Android:创建动态频率(正弦)图

时间:2012-01-09 10:48:53

标签: android graph frequency sin

如何在android中创建动态频率图? 像这样:http://www.jazzitalia.net/lezioni/sax/immagini/grafico1.gif没有轴。 我有像这样的图形所需的相位,幅度和正常数据。 我找到了这个例子:http://androidplot.com/wiki/A_Dynamic_XYPlot但我不知道这是否是完美的做法...

1 个答案:

答案 0 :(得分:1)

动态情节示例是您想要的一个非常好的起点。更改GetY和Runnable,使其按照您希望的方式执行数据。

至于图表的样式,您可以通过将null传递给LineAndPointFormatter上的apripriate参数来切换填充和关闭点。

以下代码显示如果您不想要它们,如何关闭各种视觉功能。它已将源代码作为TimedXyPlotExample签入,但尚未进入版本。

    if (!mBackgroundOn) {
        // remove the background stuff.
        mDynamicPlot.setBackgroundPaint(null);
        mDynamicPlot.getGraphWidget().setBackgroundPaint(null);
        mDynamicPlot.getGraphWidget().setGridBackgroundPaint(null);
    }

    if (!mKeyOn)
        mDynamicPlot.getLayoutManager()
                .remove(mDynamicPlot.getLegendWidget());
    if (!mDomainLabelOn)
        mDynamicPlot.getLayoutManager().remove(
                mDynamicPlot.getDomainLabelWidget());
    if (!mDomainAxisOn) {
        mDynamicPlot.getGraphWidget().setDomainLabelPaint(null);
        mDynamicPlot.getGraphWidget().setDomainOriginLabelPaint(null);
    }
    if (!mBoarderOn)
        mDynamicPlot.setDrawBorderEnabled(false);
    if (!mRangeLabelOn)
        mDynamicPlot.getLayoutManager().remove(
                mDynamicPlot.getRangeLabelWidget());
    if (!mRangeAxisOn) {
        mDynamicPlot.getGraphWidget().setRangeLabelPaint(null);
        mDynamicPlot.getGraphWidget().setRangeOriginLabelPaint(null);
    }
    if (!mGridOn) {
        mDynamicPlot.getGraphWidget().setGridLinePaint(null);
        mDynamicPlot.getGraphWidget().setDomainOriginLinePaint(null);
        mDynamicPlot.getGraphWidget().setRangeOriginLinePaint(null);
    }
    if (!mTitleOn) 
        mDynamicPlot.getLayoutManager().remove(mDynamicPlot.getTitleWidget());