簡體   English   中英

在條形圖AChartEngine中的Y軸標簽上添加%符號

[英]Adding % sign to Y-Axis Labels in Bar Chart AChartEngine

我正在開發一個Android應用程序,並使用AChartEngine進行圖表繪制。 條形圖是根據來自服務器的動態數據繪制的。

Y軸標簽設置為從0到100顯示,標簽個數都不是11,它顯示0..10..20..30..40..60..70..80..90 .. 100作為Y軸標簽。 是否可以設置自定義Y軸標簽,以便在Y軸標題值之后添加'%'符號,以便顯示,

0%.. 10%.. 20%.. 30%.. 40%.. 60%.. 70%.. 80%.. 90%.. 100%作為Y軸標簽值。

怎么做??

為了在Y軸上設置自定義標簽,您只需要使用以下方法:

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

另外,如果要隱藏默認標簽,請執行以下操作:

mRenderer.setYLabels(0);

您需要做的就是:享受;)

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);

我實際上對AChartEngine並沒有做很多事情,但是快速瀏覽一下源代碼就可以建議您擴展BarChart來完成您要完成的工作。

看一下AbstractChart中的getLabel(double label)方法( BarChart擴展了XYChart ,而XYChart又擴展了AbstractChart )。

 /**
   * 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軸生成標簽。 如果是這種情況,您可能需要做一些更聰明的操作才能針對您感興趣的軸啟用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM