我们爱分享---使用achartengine画线性。柱状图。。

hijovi 2011-08-30 12:47:25
加精
最近要用到发现简单又实用。。。。没啥技术性
参考 org.achartengine.chartdemo.demo.GeneratedChartDemo
下载地址 http://code.google.com/p/achartengine/

没啥说的上代码吧 - -!
主要就是 设置渲染器加数据
最后别忘记了声明 activity

//柱状图渲染器
public XYMultipleSeriesRenderer getBarRenderer() {

XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();

SimpleSeriesRenderer r = new SimpleSeriesRenderer();
r.setColor(Color.RED);//颜色红色
renderer.addSeriesRenderer(r);
renderer.setChartTitle( "答题正确率" );//设置标题
renderer.setXTitle( "知识点" );//x轴标题
renderer.setYTitle( "正确率" );//y轴标题
renderer.setAxisTitleTextSize(18);
renderer.setXAxisMin(0.5);//x轴最小值
renderer.setXAxisMax(5.5);
renderer.setYAxisMin(0);//y轴最小值
renderer.setYAxisMax(100);
renderer.setDisplayChartValues(true);//是否在图上中显示值
renderer.setChartValuesTextSize(15);
renderer.setShowGrid(true);//显示网格
renderer.setFitLegend(true);//调整合适的位置
renderer.setXLabels(0);
renderer.addTextLabel(1, "知识点一");
renderer.addTextLabel(2, "知识点二");
renderer.addTextLabel(3, "知识点三");
renderer.addTextLabel(4, "知识点四");
renderer.setBarSpacing(1);
return renderer;
}
//柱图数据
private XYMultipleSeriesDataset getBarDataset() {

XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();

CategorySeries series = new CategorySeries( "本次练习 %"); //声明一个柱形图

//为柱形图添加值
series.add(50);
series.add(80);
series.add(44);
series.add(32);
dataset.addSeries(series.toXYSeries());//添加该柱形图到数据设置列表

return dataset;

}

// 然后
Intent intent = ChartFactory.getBarChartIntent ( ShowReslut.this, getBarDataset(), getBarRenderer(), Type.DEFAULT );
startActivity(intent);
//记得声明 activity!

//线图渲染器

private XYMultipleSeriesRenderer getLineRenderer() {
XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
renderer.setChartTitle( "答题正确率" );
renderer.setXTitle( "答题次数" );
renderer.setYTitle( "正确率" );
renderer.setDisplayChartValues(true);
renderer.setShowGrid(true);
renderer.setAxisTitleTextSize(16);
renderer.setLabelsTextSize(15);
renderer.setLegendTextSize(15);
renderer.setPointSize(5f);
renderer.setYAxisMin(0);
renderer.setYAxisMax(100);
XYSeriesRenderer r = new XYSeriesRenderer();
r = new XYSeriesRenderer();
r.setPointStyle(PointStyle.CIRCLE);
r.setColor(Color.GREEN);
r.setFillPoints(true);
renderer.addSeriesRenderer(r);
renderer.setAxesColor(Color.DKGRAY);
renderer.setLabelsColor(Color.LTGRAY);
renderer.setFitLegend(true);
return renderer;
}
//线图数据
private XYMultipleSeriesDataset getDemoDataset() {
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
CategorySeries series = new CategorySeries( "每次练习 %");

series.add(55);
series.add(33);
series.add(52);
series.add(35);
series.add(78);
dataset.addSeries(series.toXYSeries());
return dataset;
}

// 然后
Intent intent = ChartFactory.getLineChartIntent(ShowReslut.this, getDemoDataset(), getLineRenderer());
startActivity(intent);


最后是图

...全文
6045 50 打赏 收藏 转发到动态 举报
写回复
用AI写文章
50 条回复
切换为时间正序
请发表友善的回复…
发表回复
angel_yq 2013-06-21
  • 打赏
  • 举报
回复
图看不到丫...
hw3G2008 2012-12-18
  • 打赏
  • 举报
回复
虽然看到的晚,但这个真心不错。
lixiaofei0218 2012-11-02
  • 打赏
  • 举报
回复
henghao!
lixiaofei0218 2012-11-02
  • 打赏
  • 举报
回复
谢谢,fenxiang
Αμπάι. 2012-10-18
  • 打赏
  • 举报
回复
这图从哪输出来的?
李狗蛋52635 2012-07-12
  • 打赏
  • 举报
回复
[Quote=引用 44 楼 的回复:]

我跟42楼 遇到一样的问题 ,楼主 怎么解决呢
[/Quote]

把jar包放在工程的libs目录下,不要自己建目录,也不用引入library,以上。
qqmusalex 2012-07-10
  • 打赏
  • 举报
回复
我跟42楼 遇到一样的问题 ,楼主 怎么解决呢
bencoco 2012-04-10
  • 打赏
  • 举报
回复
为什么我运行的时候会报错呢
错误是:E/AndroidRuntime(23340): java.lang.NoClassDefFoundError: org.achartengine.model.XYMultipleSeriesDataset

我已经把jar文件加进去了,编译不会出错


大家谁知道为什么,请指点一下吧,非常感谢
bencoco 2012-04-10
  • 打赏
  • 举报
回复
楼主,你好,为什么我运行的时候会报错呢
错误是:E/AndroidRuntime(23340): java.lang.NoClassDefFoundError: org.achartengine.model.XYMultipleSeriesDataset

我已经把jar文件加进去了,编译不会出错
暖枫无敌 2012-03-30
  • 打赏
  • 举报
回复
深夜情感老师 2012-03-30
  • 打赏
  • 举报
回复
多谢分享。
qhdkunpeng 2012-03-22
  • 打赏
  • 举报
回复
好东西 谢谢分享!
yc1214Android 2012-03-16
  • 打赏
  • 举报
回复
不错哦
坚如磐石_8023 2012-02-17
  • 打赏
  • 举报
回复
感觉楼主用的这个不是很炫啊。。推荐一个 funsionCharts 改天我也把这个上传下
suv3389 2011-12-08
  • 打赏
  • 举报
回复
顶一下

Intent intent = ChartFactory.getBarChartIntent ( ShowReslut.this, getBarDataset(), getBarRenderer(), Type.DEFAULT );
startActivity(intent);
//记得声明 activity!

真的很重要!
youqi1st 2011-11-13
  • 打赏
  • 举报
回复
菜鸟弱弱的问一下 : 怎么申明?^...
wo243011344 2011-10-18
  • 打赏
  • 举报
回复
当数据很大的时候 速度不知道快不快
ZZZ5512536 2011-09-28
  • 打赏
  • 举报
回复
上个星期一直在做柱状图的事。。。昨天刚做完,今天有空来CSDN打酱油才看见。。
早看到就就好了……
「已注销」 2011-09-13
  • 打赏
  • 举报
回复
今天出现好多强人呢啊

开了眼了
念茜 2011-09-07
  • 打赏
  • 举报
回复
帮顶
加载更多回复(29)

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧