26

MPAndroidChart ライブラリを使用しています。誰もこの問題を抱えていますか?ラベルを下の位置に置くと、これらはカットされます。

ありがとうございました

ここに画像の説明を入力

4

9 に答える 9

32

テキストが長すぎて、ライブラリがラベルの新しい行への「折り返し」をサポートしていないため、これらはカットされています。

凡例のラベルを短くするか、必要な機能を自分で実装する必要があります。

アップデート:

のワード ラップがLegendサポートされるようになりました。

chart.getLegend().setWordWrapEnabled(true);
于 2015-01-08T23:52:16.680 に答える
6

ここでは、「Traditional Android Way」による簡単な方法を紹介します。非常に簡単です。私のコードは以下のとおりです。

<LinearLayout
    android:id="@+id/i_am_chart_view_container"
    ...
    android:paddingRight="20dp"
    android:clipChildren="false"
    android:clipToPadding="false"
    .../>

paddingコンテナー レイアウトにいくつかを追加するかmargin、チャート ビューにいくつかを追加し、最後にclipChildren&clipToPaddingを false に設定するだけです。

以下の結果:

青い領域はパディングまたはマージン領域です。

ここに画像の説明を入力

于 2015-07-09T03:19:13.263 に答える
3
 Legend l = pieChart.getLegend();
 l.setPosition(LegendPosition.BELOW_CHART_LEFT);
 l.setXEntrySpace(7f);
 l.setYEntrySpace(0f);
 l.setYOffset(0f);
 l.setDirection(LegendDirection.LEFT_TO_RIGHT);
 l.setWordWrapEnabled(true);
于 2015-09-28T12:54:33.533 に答える
1

凡例の値のクリッピングを回避するには、次のコード ブロックを使用します。

Legend legend=lineChart.getLegend();
legend.setWordWrapEnabled(true);

Doc (凡例):

/**
     * Should the legend word wrap? / this is currently supported only for:
     * BelowChartLeft, BelowChartRight, BelowChartCenter. / note that word
     * wrapping a legend takes a toll on performance. / you may want to set
     * maxSizePercent when word wrapping, to set the point where the text wraps.
     * / default: false
     * 
     * @param enabled
     */
    public void setWordWrapEnabled(boolean enabled) {
        mWordWrapEnabled = enabled;
    }

x 軸ラベルのクリッピングを避けるには、次を使用します

XAxis xAxis = lineChart.getXAxis();
xAxis.setAvoidFirstLastClipping(true);

Doc (x 軸ラベル用):

/**
     * if set to true, the chart will avoid that the first and last label entry
     * in the chart "clip" off the edge of the chart or the screen
     * 
     * @param enabled
     */
    public void setAvoidFirstLastClipping(boolean enabled) {
        mAvoidFirstLastClipping = enabled;
    }
于 2016-03-15T07:32:11.550 に答える
0

長い研究の後、私は解決策を見つけました。以下のコードで解決しました。

chart.getLegend().setWordWrapEnabled(true);

于 2017-01-03T10:15:46.013 に答える