1

Android のチャートに問題があります。AndroidPlotで描いています。私の問題は次のとおりです。グラフの端にある点のラベルは完全には描画されません。ラベルの一部は、下のスクリーンショットのようにチャート エリアに描画されます (ポイント 2 と 3)。さらに、下部にもう 1 つのラベルを描画する必要があります (ポイント 1)。

画面http://postimg.org/image/d79e91q2p/

描画前にチャートを準備するコード:

Widget gw = plot.getGraphWidget();
    plot.setGridPadding(0, 0, 0, 0);
    plot.getDomainLabelWidget().setMarginBottom(50);
    SizeMetrics sm = new SizeMetrics(0, SizeLayoutType.FILL, 0,
            SizeLayoutType.FILL);
    gw.setSize(sm);
    LayoutManager lm = plot.getLayoutManager();
    gw.position(0, XLayoutStyle.ABSOLUTE_FROM_LEFT, 0,
            YLayoutStyle.ABSOLUTE_FROM_TOP);

    // set colors
    plot.getBackgroundPaint().setColor(Color.WHITE);
    plot.setBackgroundColor(Color.WHITE);
    plot.setBorderStyle(BorderStyle.NONE, null, null);
    gw.getBackgroundPaint().setColor(Color.WHITE);
    plot.getGraphWidget().getGridBackgroundPaint().setColor(Color.WHITE);
    plot.getGraphWidget().getDomainLabelPaint().setColor(Color.BLACK);
    plot.getGraphWidget().getRangeLabelPaint().setColor(Color.BLACK);

    // labels orientation
    plot.getGraphWidget().setDomainLabelOrientation(-90);
    // remove legend
    plot.getLayoutManager().remove(plot.getLegendWidget());

    // set min and max for Y
    plot.setRangeBoundaries(min, max, BoundaryMode.FIXED);
    // set step for Y
    plot.setRangeStep(XYStepMode.INCREMENT_BY_VAL, 20);

マージンまたはパディングのあるものだと思います。

4

1 に答える 1

2

私の提案は、プロットのグラフ領域にパディングを追加して、それらのラベルに十分な描画可能なスペースを与えることです。必要なパディングの正確な量は、表示する最大桁数によって異なりますが、開始するには、次の行をプロットの xml に追加してみてください。

androidPlot.graphWidget.gridPaddingLeft="6dp"
androidPlot.graphWidget.gridPaddingRight="6dp"

ニック

于 2013-11-26T04:55:30.223 に答える