2

次のように、X 軸と Y 軸の端から線を延長してタイム チャートを「ボックス化」したいと思います。

   ----------------------
   |                    |
10 +                    |
   |                    |
 5 +                    |
   |                    |
   ---+---+---+---+---+--
      1   2   3   4   5

余白とグラフの背景に同じ色を使用しています。

明確にするために、2次軸は必要ありません。そして、グリッドは必要ありません。

このためのすぐに利用できる API は見つかりませんでしたが、背景を描画したり、グリッドをグラフ全体に合わせたりするときに実行できると思います。これを行う最善の方法は何ですか?

4

1 に答える 1

0

OK、これは多くの人が必要とする機能ではないと思います。私は誇りに思っていませんが、Works For Me™ のソリューションを実装しました。TimeChart クラスをサブクラス化し、draw() をオーバーライドすることになりました。

    @Override
public void draw(Canvas canvas, int x, int y, int width, int height,
        Paint paint) {
    super.draw(canvas, x, y, width, height, paint);
    int[] margins = mRenderer.getMargins();
    int left = x + margins[1];
    int top = y + margins[0];
    int right = x + width - margins[3];
    int legendSize = getLegendSize(mRenderer, height / 5, mRenderer.getAxisTitleTextSize());
    int bottom = y + height - margins[2] - legendSize;
    paint.setColor(mRenderer.getAxesColor());
    canvas.drawLine(left, top, right, top, paint);
    canvas.drawLine(right, top, right, bottom, paint);
}
于 2013-03-12T13:02:09.270 に答える