4

私はAndroidアプリに取り組んでおり、チャート作成にAChartEngineを使用しています。棒グラフは、サーバーからの動的データに基づいて描画されます。

Y 軸のラベルは 0 から 100 まで表示されるように設定されており、0..10..20..30..40..60..70..80..90.. を示す 11 のラベルはありません。 Y 軸ラベルとして 100。Y 軸のタイトル値の後に「%」記号を追加して表示するようにカスタム Y 軸ラベルを設定することは可能ですか?

Y 軸のラベル値として 0%..10%..20%..30%..40%..60%..70%..80%..90%..100%。

どうやってするの??

4

3 に答える 3

1

Y軸にカスタムラベルを設定するには、次の方法を使用する必要があります。

mRenderer.addYTextLabel(10, "10%");
mRenderer.addYTextLabel(20, "20%");
...

また、デフォルトのラベルを非表示にする場合は、次のようにします。

mRenderer.setYLabels(0);
于 2012-10-24T06:49:04.350 に答える
1

あなたがしなければならないことはすべて: 楽しむ ;)

renderer.addXTextLabel(0, "0");
    renderer.addYTextLabel(10, "10%");
    renderer.addYTextLabel(20, "20%");
    renderer.addYTextLabel(30, "30%");
    renderer.addYTextLabel(40, "40%");
    renderer.addYTextLabel(50, "50%");
    renderer.addYTextLabel(60, "60%");
    renderer.addYTextLabel(70, "70%");
    renderer.addYTextLabel(80, "80%");
    renderer.addYTextLabel(90, "90%");
    renderer.addYTextLabel(100, "100%");

    renderer.setYLabels(0);
于 2012-10-24T07:38:01.517 に答える
0

私は AChartEngine で実際に多くのことを行ったことはありませんが、ソース コードをざっと見てみると、BarChart目的を達成するために拡張できることがわかります。

( extends 、次に extends ) にあるgetLabel(double label)メソッドを見てください。AbstractChartBarChartXYChartAbstractChart

 /**
   * Makes sure the fraction digit is not displayed, if not needed.
   * 
   * @param label the input label value
   * @return the label without the useless fraction digit
   */
  protected String getLabel(double label) {
    String text = "";
    if (label == Math.round(label)) {
      text = Math.round(label) + "";
    } else {
      text = label + "";
    }
    return text;
  }

それがどのように機能するかを確認するために、単純なことから始めます。"%"たとえば、上記の結果に単純に追加します。

@Override protected String getLabel(double label) {
    return super.getLabel(label) + "%";
}

X 軸のラベルを生成するために同じ方法が使用されているかどうかについては、あまり確信が持てません。その場合は、関心のある軸だけを有効にするために、もう少しスマートなことをする必要があるでしょう。

于 2012-10-24T06:37:54.943 に答える