2012-03-28 13 views
5

x ekseni etiketinde değer ayarlamak için Benim app aslında achartEngine kullanarak bir grafik oluşturduk. Bu x ekseninde başlangıçta 1 - 31 arasında bir değer gösteriyorum. Şimdi bunu görüntülemek yerine 1-03-2012 2-03-2012 3-03-2012 .... gibi değerleri görüntülemek mümkün. o ayın son gününe ve o ayın son gününe ulaştığında, yani 31-03-2012 değer göstergesi bundan sonra 1-04-2012 2-04-2012 ... gibi olmalıdır. 1 2 3 4 5 ... gibi bir değeri görüntülerken kullandığım kod aşağıda verilmiştir. GrafikteNasıl achartengine

için

kod

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

ekran Demo enter image description here

+0

Eğer AchartEngineDemo – Abhi

+0

XYMultipleSeriesRenderer kullanmış sınıf (nesne Bu renk gibi grafik özellikleri içerir) – AndroidDev

+0

.java dosya? – Abhi

cevap

13

kullanımlar AverageTemperatureChart sınıfı çekim.

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

sonra

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

sadece demo

için dört eklemek Ve) (renderer.addTextLabel aracılığıyla etiket eklemek böyle değiştirebilir ve değişiklikleri kontrol edin;

örn:

Abhi cevabı ek olarak
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

, hiçbir CustomLabelFormatter ya da etiketlerinizi anında oluşturmanızı sağlayan bir şey yok mu? Bu kütüphane büyük bir PITA ... – hotzen

4

, X Etiketleri sonra bir sonraki satır eklemek için ızgara eklemek istiyorsanız:

renderer.setShowCustomTextGrid(true);