如何使用achartengine在android中创建条形图

时间:2012-08-22 11:28:57

标签: android charts

任何人都可以给我至少一个示例java代码使用achartengine 在android中创建一个条形图?我在谷歌上做了一些搜索,但他们都没有让我明白。

感谢您宝贵的时间!..

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

答案 2 :(得分: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来填充我们的系列 迭代器我将是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);