11

こんにちは、フィールド テスト アプリケーションを開発しようとしています。近隣のセルの信号強度などの情報を取得する必要があります。

だから私の質問は:

X 軸にさまざまな隣接セル、Y 軸に信号強度をリアルタイムで表示するグラフを表示するにはどうすればよいですか? ここに例 があります。

私はすでに 5 つまたは 6 つの隣接するセルを取得しており、それぞれのセルの信号強度を取得しています。

4

3 に答える 3

13

Canvas を使用して自分で手動でグラフを描画するのではなく、利用可能な Chart Engine Libraries を使用することができ、それもはるかに簡単になります。

AchartEngine 、ChartDroidaFreeChartMPAndroidChartなど

立体チャート用 Charts4J

X 軸にさまざまな隣接セル、Y 軸に信号強度をリアルタイムで表示するグラフを表示するにはどうすればよいですか?

私のアプリケーションの 1 つで、同じために aChart Engine を使用しました。ライブラリで利用できる完全な API デモがあるので、その使用方法を理解するのは非常に簡単です。

于 2012-06-22T05:17:53.880 に答える
1

リンクにはさまざまなタイプがあるため、どのタイプのグラフを開発したいのかわかりません。しかし、私はアンドロイドでリアルタイムの折れ線グラフを開発しました。線を描くためにcanvasを使用しています。

public class GraphView extends View
{
    ...
    private final Rect rect = new Rect();
    private final Paint linePaint = new Paint();
    private final Paint backgroundPaint = new Paint();
    private float[] points;

    public GraphView(final Context context, final AttributeSet aSet)
    {
        super(context, aSet);
    }
    @Override
    protected void onDraw(final Canvas canvas)
    {
        if (points == null)
        {
            return;
        }
        canvas.drawLines(points, linePaint);
        rect.set((int) (xIndex * xScale), 0, (int) (xIndex * xScale + 5), getHeight());
        canvas.drawRect(rect, backgroundPaint);
    }
...
}

必要に応じて、四角形を簡単に配置/サイズ変更できます。xIndex と xScale の計算は書きませんでした。ポイント配列は、値が書き込まれるものです。

しかし、アンドロイドでは線がペアで描かれていることに注意してください。私が知っているように、「ポイント」構造はありません。

[1, 0.25, 2, 0.45] は x1= 1, y1=0.25 と x2=2, y2= 0.45 の間に線を引くということです

また、postInvalidate() で描画をトリガーすることもできます

postInvalidate() onDraw (キャンバス キャンバス)

于 2012-06-28T00:29:18.467 に答える
1

キャンバスに描画するのではなく、AChartEngine を使用することをお勧めします。ライブラリ、javadocs、およびデモ アプリケーションは、こちらからダウンロードできます。

YouTube には、AChartEngine の使用を開始するためのチュートリアルがあります。

提供された最初のスクリーンショットの機能をコピーするために、グラフの下の領域が色で塗りつぶされているか塗りつぶされていない折れ線グラフを使用できます。

于 2012-06-29T10:51:45.940 に答える