2012-03-28 148 views
5

實際上,在我的應用程序中,我使用achartEngine創建了一個圖表。在這些x軸最初我顯示值從1 - 31.現在,而不是顯示這是可能的顯示值,如1-03-2012 2-03-2012 3-03-2012 ....等等到當前月份的最後一天,當它到達當月的最後一天,即31-03-2012之後的值顯示應爲 1-04-2012 2-04-2012 ...等等。我使用的代碼顯示值如1 2 3 4 5 ...下面給出...任何人都可以幫助我解決這個問題。對於圖如何在achartengine中設置x軸標籤的值

代碼

renderer = new XYMultipleSeriesRenderer(2); int length = colors.length; for (int i = 0; i < length; i++) { XYSeriesRenderer r = new XYSeriesRenderer(); r.setColor(colors[i]); r.setPointStyle(styles[i]); renderer.addSeriesRenderer(r); } int rendererLength = renderer.getSeriesRendererCount(); for (int i = 0; i < rendererLength; i++) { ((XYSeriesRenderer) renderer.getSeriesRendererAt(i)).setFillPoints(true); } renderer.setAxisTitleTextSize(12); renderer.setChartTitleTextSize(12); renderer.setLabelsTextSize(10); renderer.setLegendTextSize(12); renderer.setPointSize(5f); renderer.setApplyBackgroundColor(true); renderer.setBackgroundColor(Color.parseColor("#F5F5F5")); renderer.setMarginsColor(Color.parseColor("#F5F5F5")); renderer.setChartTitle("Weight/Temperature"); renderer.setXLabels(20); renderer.setXTitle(sdFormatter.format(currentDate)); renderer.setXAxisMin(1); renderer.setXAxisMax(nMaxDay); renderer.setXLabelsAlign(Align.CENTER); renderer.setYLabels(10); renderer.setYTitle("Weight", 0); renderer.setYTitle("Temperature", 1); renderer.setYAxisMin(10, 0); renderer.setYAxisMax(90, 0); renderer.setYAxisMin(10, 1); renderer.setYAxisMax(90, 1); renderer.setYAxisAlign(Align.LEFT, 0); renderer.setYAxisAlign(Align.RIGHT, 1); renderer.setYLabelsAlign(Align.LEFT, 0); renderer.setYLabelsAlign(Align.RIGHT, 1); renderer.setAxesColor(Color.LTGRAY); renderer.setLabelsColor(Color.parseColor("#5f5f5f")); renderer.setShowGrid(true); renderer.setGridColor(Color.GRAY); 

截圖拍攝 enter image description here

+0

您在AchartEngineDemo – Abhi 2012-03-28 10:02:49

+0

XYMultipleSeriesRenderer使用哪一個類(對象這個包含圖形屬性喜歡顏色) – AndroidDev 2012-03-28 10:03:55

+0

哪個.java文件? – Abhi 2012-03-28 10:05:19

回答

13

使用AverageTemperatureChart類從演示。

setChartSettings(renderer, "Average temperature", "Month", "Temperature", 0.5, 5.5, 0, 4, 
     Color.LTGRAY, Color.LTGRAY); 

然後改變這樣的檢查的變化

for (int i = 0; i < titles.length; i++) 
    { 
     x.add(new double[] { 1, 2, 3, 4 }); 
     } 

添加四個僅用於演示

並通過renderer.addTextLabel添加標籤();

例如:

String[] date={"1-3-2012","1-4-2012","1-5-2012","1-6-2012"}; 
for (int i = 0; i < date.length; i++) 
    { 

    renderer.addTextLabel(i+1, date[i]); 
    } 
    renderer.setXLabelsAlign(Align.CENTER); 
    renderer.setXLabels(0); 
+0

沒有CustomLabelFormatter或類似的東西,可以讓你隨時生成標籤嗎?這個圖書館是一個很大的PITA ... – hotzen 2014-09-21 21:13:49

4

除了ABHI的答案,如果你想添加網格X標籤再加入下一行:

renderer.setShowCustomTextGrid(true); 
相關問題