android 生成图表,Android中使用achartengine生成图表的具体方法

该博客展示了如何使用AChartEngine库在Android中创建一个柱状图,用于展示球队战绩分析。通过`getBarDemoDataset`方法构建数据集,`getBarDemoRenderer`方法设置图表样式,包括颜色、标签和轴限制。最终,`execute`方法返回了显示图表的View。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.meritit.footlottery.view;

import java.util.Random;

import org.achartengine.ChartFactory;

import org.achartengine.chart.BarChart.Type;

import org.achartengine.model.CategorySeries;

import org.achartengine.model.XYMultipleSeriesDataset;

import org.achartengine.renderer.DefaultRenderer;

import org.achartengine.renderer.SimpleSeriesRenderer;

import org.achartengine.renderer.XYMultipleSeriesRenderer;

import com.meritit.footlottery.R;

import android.content.Context;

import android.graphics.Color;

import android.view.View;

public class BarChart {

private Context context;

public View execute(Context context) {

this.context = context;

return ChartFactory

.getBarChartView(context, getBarDemoDataset(), getBarDemoRenderer(), Type.DEFAULT);

}

/**

* XYMultipleSeriesDataset 类型的对象,用于提供图表需要表示的数据集,

* 这里我们用 getBarDemoDataset 来得到它。

*/

private XYMultipleSeriesDataset getBarDemoDataset() {

XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();

final int nr = 10;

Random r = new Random();

for (int i = 0; i < 3; i++) {

CategorySeries series = new CategorySeries("球队 " + (i + 1));

for (int k = 0; k < nr; k++) {

series.add(100 + r.nextInt() % 100);

}

dataset.addSeries(series.toXYSeries());

}

return dataset;

}

/**

* XYMultipleSeriesRenderer 类型的对象,用于提供图表展现时的一些样式,

* 这里我们用 getBarDemoRenderer 方法来得到它。

* getBarDemoRenderer 方法构建了一个 XYMultipleSeriesRenderer 用来设置2个系列各自的颜色

*/

public XYMultipleSeriesRenderer getBarDemoRenderer() {

XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();

SimpleSeriesRenderer r = new SimpleSeriesRenderer();

r.setColor(Color.BLUE);

renderer.addSeriesRenderer(r);

r = new SimpleSeriesRenderer();

r.setColor(Color.GREEN);

renderer.addSeriesRenderer(r);

r = new SimpleSeriesRenderer();

r.setColor(Color.RED);

renderer.addSeriesRenderer(r);

renderer.setApplyBackgroundColor(true);

renderer.setBackgroundColor(Color.TRANSPARENT);

renderer.setMarginsColor(context.getResources().getColor(R.color.main_background_color));

renderer.setZoomEnabled(false, false);

renderer.setPanEnabled(false, false);

renderer.setLabelsTextSize(15);

renderer.setLabelsColor(Color.BLACK);

setChartSettings(renderer);

return renderer;

}

/**

* setChartSettings 方法设置了下坐标轴样式。

*/

private void setChartSettings(XYMultipleSeriesRenderer renderer) {

renderer.setChartTitle("战绩分析");

renderer.setXTitle("横坐标");

renderer.setYTitle("纵坐标");

renderer.setXAxisMin(0.5);

renderer.setXAxisMax(10.5);

renderer.setYAxisMin(0);

renderer.setYAxisMax(210);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值