Android: создать динамический график частоты (грех) - PullRequest
1 голос
/ 09 января 2012

Как я могу создать динамический график частоты в Android? как это: http://www.jazzitalia.net/lezioni/sax/immagini/grafico1.gif без осей. у меня есть фаза, амплитуда, нормальные данные, которые необходимы для такого графика. Я нашел этот пример: http://androidplot.com/wiki/A_Dynamic_XYPlot но я не знаю, если это идеальный способ сделать это думает ...

1 Ответ

1 голос
/ 09 января 2012

Пример динамического графика - очень хорошая отправная точка для того, что вы хотите.Измените GetY и Runnable, чтобы они делали данные так, как вы хотите.

Что касается стиля графика, вы можете отключить заполнение и точки, передав нулевое значение соответствующему параметру наLineAndPointFormatter.

Вот код, показывающий, как отключить различные визуальные функции, если они вам не нужны.Это проверено с источником как 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());
...