![](/img/trans.png)
[英]AChartEngine Y-Axis custom labels area margins and chart values as String?
[英]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.