achartengine多柱状图(自定义X轴显示参数)
来源:互联网 发布:c语言随机函数怎么用 编辑:程序博客网 时间:2024/05/02 02:59
使用achartengine绘制多状图,界面效果如下:
achartengine1.0.0到1.2.0jar包下载:点击打开链接
关键代码:(导入jar后,拷贝可用)
//柱状图的多个序列的名字String[] titles = new String[] { "金额", "游戏收入","其他" };//存放柱状图多个序列的值ArrayList<double[]> value = new ArrayList<double[]>();double[] d1 = new double[] {0,55,15, 30, 25, 12,0 };double[] d2 = new double[] {0,35,42, 12, 1, 35,0 };double[] d3 = new double[] {0,22,54, 41, 12, 25,0 };value.add(d1);value.add(d2);value.add(d3);//int maxVal1 = ChartUtil.getMaxVal(d1);//int maxVal2 = ChartUtil.getMaxVal(d2);//多个状的颜色int[] colors = { R.color.color_reseda, R.color.color_orange2,R.color.color_blue};//设置x轴和y轴的最大最小值//double[] val = new double[] { 1,//7, 0, maxVal1 > maxVal2 ?maxVal1:maxVal2};int[] xVal = new int[] {1, 2, 3,4,5,6,7};//自定义X轴显示的数据String[] xLableVal = new String[]{"","取款","存款","彩票","体育","真人",""};//生成柱状图viewGraphicalView mGraphicalView = ChartUtil.xychar(titles, value, colors, xLableVal, 5, val, xVal, "", true);//将生成的mGraphicalView添加到你需要显示的布局里面去mLayoutChart.addView(mGraphicalView);//调用方法public static GraphicalView xychar(String[] titles, ArrayList<double[]> value,int[] colors, String[] xlableVal, int y,double[] range, int []xLable ,String xtitle, boolean f) {//多个渲染XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();//布局的(上左下右)marginrenderer.setMargins(new int[] { 10, 35,20,25 });//多个序列的数据集XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();//构建数据集以及渲染for (int i = 0; i < titles.length; i++) {XYSeries series = new XYSeries(titles[i]);double [] yLable= value.get(i);for (int j=0;j< yLable.length;j++) {series.add(xLable[j],yLable[j]);}dataset.addSeries(series);XYSeriesRenderer xyRenderer = new XYSeriesRenderer();// 设置颜色xyRenderer.setColor(MyApplication.getCurrentActivity().getResources().getColor(colors[i]));// 设置点的样式 //xyRenderer.setPointStyle(PointStyle.SQUARE);// 将要绘制的点添加到坐标绘制中renderer.addSeriesRenderer(xyRenderer);}//在X轴显示自定义的标签,那么首先要设置renderer.setXLabels(0);其次我们要renderer.addXTextLabel循环添加//设置x轴标签数renderer.clearXTextLabels();for (int i = 0; i < xlableVal.length; i++) {renderer.addXTextLabel(i+1, xlableVal[i]);;}renderer.setXLabels(0);//设置Y轴标签数renderer.setYLabels(y);//设置x轴的最大值//renderer.setXAxisMax(x - 0.5);//设置轴的颜色renderer.setAxesColor(Color.BLACK);//设置x轴和y轴的标签对齐方式renderer.setXLabelsAlign(Align.CENTER);renderer.setYLabelsAlign(Align.RIGHT);// 设置现实网格renderer.setShowGrid(true); renderer.setYTitle("金额(千元)");renderer.setShowAxes(true); // 设置条形图之间的距离renderer.setBarSpacing(0.2);renderer.setInScroll(false);renderer.setPanEnabled(false, false);renderer.setClickEnabled(false);//设置x轴和y轴标签的颜色renderer.setXLabelsColor(R.color.color_gray);renderer.setYLabelsColor(0,R.color.color_gray);int length = renderer.getSeriesRendererCount();//设置图标的标题renderer.setChartTitle(xtitle);renderer.setChartTitleTextSize(15);renderer.setLabelsColor(R.color.color_gray);//设置图例的字体大小renderer.setLegendTextSize(15);renderer.setLabelsTextSize(12);renderer.setShowLegend(true);// 设置图例文本大小renderer.setLegendHeight(40);// 设置坐标轴标签字体大小 renderer.setAxisTitleTextSize(12);//设置x轴和y轴的最大最小值renderer.setMarginsColor(0x00888888);GraphicalView mChartView = ChartFactory.getBarChartView(MyApplication.getCurrentActivity(),dataset, renderer, Type.DEFAULT);return mChartView;}
1. 修改背景色或设置背景图片
背景色设置需要设置两项:setMarginsColor(设置四边颜色)以及setBackgroundColor(设置中间背景色)
2. setAxisTitleTextSize(16);// 设置坐标轴标题文本大小
3. setChartTitleTextSize(20); // 设置图表标题文本大小
4. setLabelsTextSize(15); // 设置轴标签文本大小
5. setLegendTextSize(15); // 设置图例文本大小
6. renderer.setChartTitle( "设置柱图名称");//设置柱图名称
7. renderer.setXTitle( "XX" );//设置X轴名称
8. renderer.setYTitle( "YY" );//设置Y轴名称
9. renderer.setXAxisMin(0.5);//设置X轴的最小值为0.5
10. renderer.setXAxisMax(5.5);//设置X轴的最大值为5
11. renderer.setYAxisMin(0);//设置Y轴的最小值为0
12. renderer.setYAxisMax(500);//设置Y轴最大值为500
13. renderer.setDisplayChartValues(true);//设置是否在柱体上方显示值
14. renderer.setShowGrid(true);//设置是否在图表中显示网格
15. renderer.setXLabels(0);//设置X轴显示的刻度标签的个数
16. 如果想要在X轴显示自定义的标签,那么首先要设置renderer.setXLabels(0);其次我们要renderer.addTextLabel()循环添加
17. renderer.setXLabelsAlign(Align.RIGHT);//设置刻度线与X轴之间的相对位置关系
18. renderer.setYLabelsAlign(Align.RIGHT);//设置刻度线与Y轴之间的相对位置关系
19. renderer.setZoomButtonsVisible(true);//设置可以缩放
20. renderer.setPanLimits(newdouble[] { 0, 20, 0, 140 });//设置拉动的范围
21. renderer.setZoomLimits(newdouble[] { 0.5, 20, 1, 150 });//设置缩放的范围
22. renderer.setRange(newdouble[]{0d, 5d, 0d, 100d}); //设置chart的视图范围
23. renderer.setFitLegend(true);// 设置是否显示图例
24. renderer.setClickEnabled(true)//设置是否可以滑动及放大缩小;
25.ChartView.repaint();重新绘图
26.关于AChartEngine的点击事件,双击事件,滑动事件均可以用自定义事件解决,但是需要注意的是先设置renderer.setClickEnabled(false);
27.若是添加图形后变形,可以设置 renderer.setInScroll(true);
28.renderer.setGridColor();//设置网格颜色
29.renderer.setAxesColor();//设置坐标轴颜色
30.Renderer.setShowLegend(true); //显示底部说明
31.Renderer.setShowLabels(false); //不显示标签
32.renderer.setLegendTextSize(20);//设置左下角表注的文字大小
33.renderer.setZoomButtonsVisible(true);//设置显示放大缩小按钮
34.renderer.setZoomEnabled(false);//设置不允许放大缩小.
35.renderer.setChartTitleTextSize(30);//设置图表标题的文字大小
36.renderer.setChartTitle("统计结果");//设置图表的标题 默认是居中顶部显示
37.renderer.setLabelsTextSize(20);//饼图上标记文字的字体大小
38.renderer.setLabelsColor(Color.WHITE);//饼图上标记文字的颜色
39.renderer.setPanEnabled(false);//设置是否可以平移
40.renderer.setDisplayValues(true);//是否显示值
41.renderer.setClickEnabled(true);//设置是否可以被点击
- achartengine多柱状图(自定义X轴显示参数)
- achartengine显示日期柱状图(不显示x轴的值)
- aChartEngine图表显示(饼图、柱状图、折线图)
- achartengine画柱状图沿着x轴移动不能沿着y轴移动 谁知道怎么弄啊???
- Echarts 柱状图x轴显示全部类目
- jfreechart生成柱状图,x轴间隔显示
- 使用Achartengine做平滑曲线图和温度显示柱状图
- C# MSChart 中柱状图和X轴自定义标签
- 使用AChartEngine画柱状图
- 使用AChartEngine画柱状图
- AchartEngine 画柱状图
- Android AChartEngine画柱状图
- android Achartengine绘制柱状图
- AChartEngine中柱状图
- achartengine 绘制柱状图
- MPAndroidChart项目实战(四)——柱状图实现及X轴文字不显示问题和柱状图上显示文字
- aChartEngine图表显示(一页显示多张图表)
- Flex柱状图(包含线性图)自定义显示tooltip
- 项目开发任务及流程记录
- 网络编程(上)
- [JQuery $()XXXX is not a function] 已解决
- VMWare 12 Pro 安装 MAC OS Sierra
- react和redux中的几种常用的方法
- achartengine多柱状图(自定义X轴显示参数)
- 在winform中使用进度条显示任务的执行进度
- java的IO流,当时Sun为什么起名叫流?
- 配置 maven 出现的问题Error: JAVA_HOME not found in your environment.
- 实验三:Huffman编码
- Water Gate Management(二进制枚举组合排列模板 n个数的子集)
- Linux 系统启动详解
- APUE上对进程终止的讨论
- TextView的XML属性大全