1
안드로이드 AChart 엔진의 제대로 막대 차트를 표시하고이 같은 막대 그래프 표시 할 방법 :내가 막대 차트를 보여 AChart 엔진을 사용하고
를하지만 이것으로 끝 : 를
매우 부드럽고 지난 4 시간 동안 올바른 형식을 지정하려고했지만 실패했습니다. 적절한 자습서를 인터넷에서 검색했지만 하나를 관리 할 수 없습니다. 어떤 스 니펫을 포함시켜야합니까?
이 내 시련 코드입니다 : 내가 대신 CategorySeries
를 구축, 당신은 XYSeries
을 구축 할 것을 제안
public class BarGraph{
public GraphicalView getView(Context context)
{
// Bar 1
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
CategorySeries ac = new CategorySeries("AC");
CategorySeries pe = new CategorySeries("PE");
CategorySeries wa = new CategorySeries("WA");
CategorySeries tl = new CategorySeries("TL");
CategorySeries ml = new CategorySeries("ML");
CategorySeries ce = new CategorySeries("CE");
CategorySeries re = new CategorySeries("RE");
CategorySeries ot = new CategorySeries("OT");
ac.add(291);
dataset.addSeries(ac.toXYSeries());
pe.add(11);
dataset.addSeries(pe.toXYSeries());
wa.add(204);
dataset.addSeries(ac.toXYSeries());
tl.add(28);
dataset.addSeries(pe.toXYSeries());
ml.add(0);
dataset.addSeries(ac.toXYSeries());
ce.add(21);
dataset.addSeries(pe.toXYSeries());
re.add(51);
dataset.addSeries(ac.toXYSeries());
ot.add(4);
dataset.addSeries(pe.toXYSeries());
XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer();
mRenderer.setChartTitle("Submission Statistics");
mRenderer.setXTitle("Verdict Code");
mRenderer.setYTitle("No. of Submissions");
mRenderer.setAxesColor(Color.BLACK);
mRenderer.setLabelsColor(Color.BLACK);
mRenderer.setApplyBackgroundColor(true);
mRenderer.setBackgroundColor(Color.WHITE);
mRenderer.setMarginsColor(Color.WHITE);
mRenderer.setZoomEnabled(true);
mRenderer.setZoomButtonsVisible(true);
XYSeriesRenderer renderer = new XYSeriesRenderer();
renderer.setColor(Color.parseColor("#00AA00"));
renderer.setDisplayChartValues(true);
renderer.setChartValuesSpacing((float) 0.5);
XYSeriesRenderer renderer2 = new XYSeriesRenderer();
renderer2.setColor(Color.parseColor("#666600"));
renderer2.setDisplayChartValues(true);
renderer2.setChartValuesSpacing((float) 0.5);
XYSeriesRenderer renderer3 = new XYSeriesRenderer();
renderer3.setColor(Color.parseColor("#FF0000"));
renderer3.setDisplayChartValues(true);
renderer3.setChartValuesSpacing((float) 0.5);
XYSeriesRenderer renderer4 = new XYSeriesRenderer();
renderer4.setColor(Color.parseColor("#0000FF"));
renderer4.setDisplayChartValues(true);
renderer4.setChartValuesSpacing((float) 0.5);
XYSeriesRenderer renderer5 = new XYSeriesRenderer();
renderer5.setColor(Color.parseColor("#6767D0"));
renderer5.setDisplayChartValues(true);
renderer5.setChartValuesSpacing((float) 0.5);
XYSeriesRenderer renderer6 = new XYSeriesRenderer();
renderer6.setColor(Color.parseColor("#AAAA00"));
renderer6.setDisplayChartValues(true);
renderer6.setChartValuesSpacing((float) 0.5);
XYSeriesRenderer renderer7 = new XYSeriesRenderer();
renderer7.setColor(Color.parseColor("#00AAAA"));
renderer7.setDisplayChartValues(true);
renderer7.setChartValuesSpacing((float) 0.5);
XYSeriesRenderer renderer8 = new XYSeriesRenderer();
renderer8.setColor(Color.parseColor("#000000"));
renderer8.setDisplayChartValues(true);
renderer8.setChartValuesSpacing((float) 0.5);
mRenderer.addSeriesRenderer(renderer);
mRenderer.addSeriesRenderer(renderer2);
mRenderer.addSeriesRenderer(renderer3);
mRenderer.addSeriesRenderer(renderer4);
mRenderer.addSeriesRenderer(renderer5);
mRenderer.addSeriesRenderer(renderer6);
mRenderer.addSeriesRenderer(renderer7);
mRenderer.addSeriesRenderer(renderer8);
return ChartFactory.getBarChartView(context, dataset,mRenderer, Type.DEFAULT);
}
}
감사합니다. 좋아, 내가하려고하는 것은 내가 무엇을 얻을지 알려 줄 것이다 :) –
당신의 제안을 따르고 나면, 그래프는 꽤 좋아 보입니다 :)하지만 나는 막대 너비를 늘릴 수 없습니다. 나는'mRenderer.setBarSpacing (-0.5); '을 사용했고 바의 폭을 약간 늘렸다. 그러나이 부정적인 가치는 어떻게 작용합니까? –
일련의 항목이 하나 있기 때문에 mRenderer.setBarWidth (widthInPixels)를 사용할 수 있습니다. –