2012-01-09 3 views
1

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

+1

Привет Zak ли вы слушать о AchartEngine.jar это также поможет вам сделать график Динамически даже я также использую его, чтобы показать сердце биться получить на время выполнения и нарисовать линейный график/бар/круговая диаграмма/и т. д. –

ответ

1

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

Что касается стиля графа, вы можете переключить заливку и точки, передав значение null в apripriate parrameter на 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()); 
+0

achart кажется хорошим ... Я попробую с этими двумя ответами, если у кого-то есть простой пример, чтобы показать, ну ... спасибо! – Zak

Смежные вопросы