1

谁能给我至少一个示例java代码来使用achartengine在android中创建一个条形图?我在谷歌上做了一些搜索,但它们都没有让我清楚。

感谢您宝贵的时间!..

4

3 回答 3

2

您也可以尝试在 youtube 上搜索 AChartEngine。您将找到有关如何使用 AChartEngine 构建图表的精彩视频教程。有一个用于条形图。

于 2012-08-23T07:15:49.403 回答
0

我将尝试为您提供有关创建条形图的过程的提示。

一、关键成分:

系列- 一个系列包含一组数据点,它们是 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);
于 2015-02-02T14:24:15.687 回答
0

AChartEngine 提供了一个演示应用程序,您可以参考 - http://code.google.com/p/achartengine/source/browse/#svn%2Ftrunk%2Fclient%2Fsrc%2Forg%2Fachartengine%2Fdemo

于 2012-08-22T11:31:18.460 回答