0

私はアンドロイドが初めてで、アンドロイドでのグラフの作成またはプロットを学ぼうとしています。私は2つのライブラリに出くわしました:

  1. グラフビュー
  2. Androidプロット。

私の意図は、サウンドファイルを受け取り、それをグラフにプロットすることです。したがって、この目的のためには、どのライブラリが優れているでしょうか。また、これらのライブラリの完全な実装または定義、つまり上記のライブラリで使用される API の構造とコードをどこで確認できるか知りたいです。

また、ネットで入手できるサンプルコードをいくつか試しました。しかし、Eclipse ADTで開発でき、そこから何かを学ぶことができる、より洗練されたコードを探しています。

4

4 に答える 4

1

私の意図は、サウンドファイルを受け取り、それをグラフにプロットすることです

デフォルトでは、どちらのライブラリもこれを行いません。ライブラリは、一連のデータ ポイントを指定してグラフをプロットするために使用されます。サウンド ファイルからデータ ポイントを取得するのはあなた次第です。

したがって、この目的のためには、どのライブラリが優れているでしょうか。

データポイントを取得したら、どちらのライブラリでも問題ありません。

また、これらのライブラリの完全な実装または定義、つまり上記のライブラリで使用される API の構造とコードをどこで確認できるか知りたいです。

GraphViewAndroidPlotのソースを確認してください。

于 2013-07-01T06:38:05.050 に答える
1

私はAchartengineを何度か使用しましたが、うまく機能します。難なく改造しました。

于 2013-07-01T06:43:42.790 に答える
0

Androidプロットを使用します。このコードは、Vector の内容を描画します (この場合はゼロで埋められます)。ベクトルに wav ファイルの情報を渡すだけです。また、読み取りの問題については、このスレッドを確認できます。 Android: wav ファイルの読み取りとその値の表示

    plot = (XYPlot) findViewById(R.id.Grafica);
    plot.setDomainStep(XYStepMode.INCREMENT_BY_VAL, 0.5);
    plot.setRangeStep(XYStepMode.INCREMENT_BY_VAL, 1);

    plot.getGraphWidget().getGridBackgroundPaint().setColor(Color.rgb(255, 255, 255));
    plot.getGraphWidget().getDomainGridLinePaint().setColor(Color.rgb(255, 255, 255));
    plot.getGraphWidget().getRangeGridLinePaint().setColor(Color.rgb(255, 255, 255));

    plot.getGraphWidget().setDomainLabelPaint(null);
    plot.getGraphWidget().setRangeLabelPaint(null);
    plot.getGraphWidget().setDomainOriginLabelPaint(null);
    plot.getGraphWidget().setRangeOriginLabelPaint(null);
    plot.setBorderStyle(BorderStyle.NONE, null, null);

    plot.getLayoutManager().remove(plot.getLegendWidget());
    plot.getLayoutManager().remove(plot.getDomainLabelWidget());
    plot.getLayoutManager().remove(plot.getRangeLabelWidget());
    plot.getLayoutManager().remove(plot.getTitleWidget());


    //plot.getBackgroundPaint().setColor(Color.WHITE);
    //plot.getGraphWidget().getBackgroundPaint().setColor(Color.WHITE);

    plot.setRangeBoundaries(-25, 25, BoundaryMode.FIXED);// check that, these //boundaries wasn't for audio files 
    InicializarLasVariables();
    for(int i=0; i<min/11;i++){

        DatoY=0;
        Vector.add(DatoY);
        }
        XYSeries series = new SimpleXYSeries(Vector, SimpleXYSeries.ArrayFormat.Y_VALS_ONLY,"");
        LineAndPointFormatter seriesFormat = new LineAndPointFormatter(Color.rgb(0, 0, 0), 0x000000, 0x000000, null);
        plot.clear();
        plot.addSeries(series, seriesFormat);
于 2014-03-04T17:34:40.580 に答える
0

キャンバスを使用してグラフを描画する単純な折れ線グラフを描画している場合。

于 2013-07-01T06:15:19.953 に答える