谁能给我至少一个示例java代码来使用achartengine在android中创建一个条形图?我在谷歌上做了一些搜索,但它们都没有让我清楚。
感谢您宝贵的时间!..
您也可以尝试在 youtube 上搜索 AChartEngine。您将找到有关如何使用 AChartEngine 构建图表的精彩视频教程。有一个用于条形图。
我将尝试为您提供有关创建条形图的过程的提示。
一、关键成分:
系列- 一个系列包含一组数据点,它们是 X 和 Y 轴的值。它可以是 XYSeries、TimeSeries、CategorySeries... 这取决于您的数据类型,并且您可以拥有多个。
XYSeries series = new XYSeries("Series name");
渲染器- 对于每个系列,您都需要一个渲染器。渲染器用于为系列赋予一些基本属性。
XYSeriesRenderer renderer = new XYSeriesRenderer();
数据集- 是一系列的集合。您必须担心添加系列和渲染器的顺序,它必须相同。
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
多渲染器- 它包含常规渲染器,通过它您可以设置图表的许多属性,从 X 和 Y 轴的限制到启用缩放、条形宽度、条形间距、轴的可见性、标签、图例和网格等等。
XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer();
GraphicalView - 基本上它是前面提到的所有内容的容器。这个元素就是你的图表,你只需要将它添加到布局中的适当视图中。
GraphicalView chartView;
为渲染器分配少量属性的示例
renderer.setFillPoints(true);
renderer.setColor(getResources()
.getColor(R.color.black));
rendererRight.setDisplayChartValues(true);
mRenderer.setXAxisMin(0);
mRenderer.setXAxisMax(10);
mRenderer.setYAxisMin(0);
mRenderer.setYAxisMax(100);
mRenderer.setMarginsColor(colorWhite);
mRenderer.setZoomEnabled(false, false);
mRenderer.setPanEnabled(false, false);
mRenderer.setShowLabels(true);
mRenderer.setBarSpacing(0.5);
我们将使用 Random 填充我们的系列迭代器 i 将是 X 值,从 0 到 99 的随机值将是 Y 值
Random r = new Random();
for (int i = 0; i < 10; i++) {
series.add(i, r.nextInt(100));
}
下一行用于将渲染器添加到多个渲染器,将系列添加到数据集
mRenderer.addSeriesRenderer(renderer);
dataset.addSeries(series);
形成的最后一步是条形图是使用 ChartFactory 来创建它,我们必须添加参数上下文、数据集、多个渲染器以及可以是默认或堆叠的类型
chartView = ChartFactory.getBarChartView(getActivity(), dataset, mRenderer, BarChart.Type.DEFAULT);
最后我们添加图表到适当的视图,在这个例子中是 FrameLayout
(FrameLayout) findViewById(R.id.bar_chart)).addView(chartView);
AChartEngine 提供了一个演示应用程序,您可以参考 - http://code.google.com/p/achartengine/source/browse/#svn%2Ftrunk%2Fclient%2Fsrc%2Forg%2Fachartengine%2Fdemo