满意答案

先定义一个GraphicalView

GraphicalView graphicalView;

然后,从chartfactory获取

graphicalView=ChartFactory.getBarChartView(getBaseContext(), dataset, renderer, type);//柱状图

graphicalView=ChartFactory.getPieChartView(getBaseContext(), dataset, renderer);//饼状图

其中的dataset表示数据源,renderer表示渲染参数,type表示类型

设置dataset的方法--饼图

double[] values={412.0,542.0,486.0,900.1};

CategorySeries dataset=buildCategoryDataset("测试饼图", values);

1 protected CategorySeries buildCategoryDataset(String title, double[] values) {

2 CategorySeries series = new CategorySeries(title);

3 series.add("差", values[0]);

4 series.add("不达标", values[1]);

5 series.add("达标", values[2]);

6 series.add("优秀",values[3]);

7 return series;

8 }

设置dataset的方法--柱状图----柱状图可以有多组数据

1 String[] titles={"test"};

2 List values=new ArrayList();

3 values.add(new double[]{5120.0,21251.0,25610.0});

4 XYMultipleSeriesDataset dataset=buildBarDataset(titles, values);

1 protected XYMultipleSeriesDataset buildBarDataset(String[] titles, List values) {

2 XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();

3 int length = titles.length;

4 for (int i = 0; i < length; i++) {

5 CategorySeries series = new CategorySeries(titles[i]);

6 double[] v = values.get(i);

7 int seriesLength = v.length;

8 for (int k = 0; k < seriesLength; k++) {

9 series.add(v[k]);

10 }

11 dataset.addSeries(series.toXYSeries());

12 }

13 return dataset;

14 }

设置renderer的方法--饼图

1 int[] colors={Color.BLUE,Color.GREEN,Color.MAGENTA,Color.RED};

2 DefaultRenderer renderer=buildCategoryRenderer(colors);

1 protected DefaultRenderer buildCategoryRenderer(int[] colors) {

2 DefaultRenderer renderer = new DefaultRenderer();

3

4 renderer.setLegendTextSize(20);//设置左下角表注的文字大小

5 //renderer.setZoomButtonsVisible(true);//设置显示放大缩小按钮

6 renderer.setZoomEnabled(false);//设置不允许放大缩小.

7 renderer.setChartTitleTextSize(30);//设置图表标题的文字大小

8 renderer.setChartTitle("统计结果");//设置图表的标题 默认是居中顶部显示

9 renderer.setLabelsTextSize(20);//饼图上标记文字的字体大小

10 //renderer.setLabelsColor(Color.WHITE);//饼图上标记文字的颜色

11 renderer.setPanEnabled(false);//设置是否可以平移

12 //renderer.setDisplayValues(true);//是否显示值

13 renderer.setClickEnabled(true);//设置是否可以被点击

14 renderer.setMargins(new int[] { 20, 30, 15,0 });

15 //margins - an array containing the margin size values, in this order: top, left, bottom, right

16 for (int color : colors) {

17 SimpleSeriesRenderer r = new SimpleSeriesRenderer();

18 r.setColor(color);

19 renderer.addSeriesRenderer(r);

20 }

21 return renderer;

22 }

设置renderer的方法----柱状图

1 int[] colors={Color.BLUE};

2 XYMultipleSeriesRenderer renderer=buildBarRenderer(colors);

3 Type type=Type.DEFAULT;

4

5 //renderer.setZoomEnabled(false);//怎么失效了----使用下面的方式

6 renderer.setZoomEnabled(false, false);//http://www.tiecou.com

7 setChartSettings(renderer, "我是柱状图的标题", "", "统计结果", 0, 6, 0, 30000, Color.GRAY, Color.LTGRAY);

8 renderer.getSeriesRendererAt(0).setDisplayChartValues(true);

9 //renderer.getSeriesRendererAt(1).setDisplayChartValues(true);

10 renderer.setXLabels(0);//设置x轴上的下标数量

11 renderer.setYLabels(10); //设置y轴上的下标数量

12 renderer.setXLabelsAlign(Align.RIGHT);

13 renderer.setYLabelsAlign(Align.LEFT);//y轴 数字表示在坐标还是右边

14 renderer.setPanEnabled(false, false);//设置是否允许平移

15 renderer.addXTextLabel(2.0, "220kv电力线");//在指定坐标处显示文字

16 // renderer.clearXTextLabels();//清除 labels

17 //renderer.setZoomRate(1.1f);//设置放缩比

18 renderer.setBarSpacing(1f);// 设置柱状的间距

19 //renderer.setLabelsTextSize(30);//设置坐标轴上数字的大小

20 renderer.setXLabelsAngle(300.0f);//设置文字旋转角度 对文字顺时针旋转

21 renderer.setXLabelsPadding(10);//设置文字和轴的距离

22 renderer.setFitLegend(true);// 调整合适的位置

复制代码

复制代码

1 protected XYMultipleSeriesRenderer buildBarRenderer(int[] colors) {

2 XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();

3 renderer.setAxisTitleTextSize(16);

4 renderer.setChartTitleTextSize(20);

5 renderer.setLabelsTextSize(15);

6 renderer.setLegendTextSize(15);

7 int length = colors.length;

8 for (int i = 0; i < length; i++) {

9 SimpleSeriesRenderer r = new SimpleSeriesRenderer();

10 r.setColor(colors[i]);

11 renderer.addSeriesRenderer(r);

12 }

13 return renderer;

14 }

最后将graphicalView放入指定的layout里

1 layout=(LinearLayout)findViewById(R.id.linearlayout);

2 layout.removeAllViews();

3 layout.setBackgroundColor(Color.BLACK);

4 layout.addView(graphicalView, new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));

00分享举报

android 中空饼图控件,android饼状图内是空心的怎么做相关推荐

  1. android 自定义饼图半径不定,【Android】仿支付宝账单统计饼状图的自定义view

    仿支付宝统计饼状图的自定义view,如下图: 项目地址:https://github.com/bigeyechou/CustomViewCollection 目录:customviewcollecti ...

  2. Android PieChart 饼图控件

    今天写一个饼图自定义View的文章.由于公司的项目需要用到饼图,UI给的设计图和自己找的一个饼图框架的标题位置不符,所以就自己画了一个. 1,使用预览 PieChart mChart mChart = ...

  3. android 自定义switch控件,Android中switch自定义样式

    android 原生开关按钮控件 Switch 提供样式自定义方式,可供我们修改为适合我们开发使用的样式控件,自定义样式过程如下: 自定义switch切换drawable 新建swith_thumb. ...

  4. android 自定义view控件,Android 自定义View——自定义View控件

    Android给我们提供了大量的View控件,但这还是远远满足不了我们的要求,有时候开发所需要的控件形式是在Android提供的控件中是不存在,这就需要我们自己去定义一个.那么如何自定义控件? 学习自 ...

  5. android studio 画控件,Android Studio 基础控件使用

    TextView android:gravity="center" //文字对其方式 top bottom left right center android:textColor= ...

  6. android基础ui控件,Android基础——基础UI控件

    日历,时钟,计时器 package com.example.mybaseuii; import androidx.appcompat.app.AppCompatActivity; import and ...

  7. android开发重要控件,Android界面编程——Android基本控件

    Android界面编程 Android应用开发的一项重要内容就是界面开发.对于用户来说,不管APP包含的逻辑多么复杂,功能多么强大,如果没有提供友好的图形交互界面,将很难吸引最终用户. 作为一个程序员 ...

  8. android 自定义刷新控件,Android开发中MJRefresh自定义刷新动画效果

    有时候我们对自己开发的项目经常不满意,但是我们要达到自定义刷新动画的效果有一定的难度,别着急,下面爱站技术频道和大家分享Android开发中MJRefresh自定义刷新动画效果,一起来学习吧! [一] ...

  9. android显示网络图片控件,Android控件之ImageView(二)

    前言 在上一篇文章中,我们讲解了如何加载本地图片,那么在实际项目中 ImageView 大多数使用场景是加载网络图片,网络图片其实就是存储在服务器上的文件,我们需要从服务器获取到文件的二进制输入流 I ...

最新文章

  1. 看完这篇!Linux网络基础知识通关!
  2. 【问题收录】Ubuntu Starting LightDM Display Manager fail
  3. 第十七届全国大学生智能车竞赛开始啦
  4. 根据客户中英文系统进入中英文页面
  5. nboot通过DNW下载并运行eboot.nb0
  6. Flink从入门到精通100篇(二十一)-Flink 状态(State)管理在推荐场景中的应用
  7. 巧用Angular项目的get设置Angular class属性访问的别名
  8. 花了两天时间为我的引擎实现了性能分析的界面显示
  9. ubuntu 12.04 以固定 IP 地址连接网络并配置DNS
  10. 使用struts做一个简单的登录跳转
  11. 4种方案,帮你解决Maven创建项目过慢问题
  12. 后台的Activity被系统回收怎么办?
  13. GIS应用技巧之定义图框样式
  14. Nat. Med. :婴儿生命早期肠道病毒组和细菌组的动态
  15. 163邮箱苹果设置不成功_iphone手机,苹果手机如何登陆网易163邮箱
  16. SUT计算机测试,调试功能测试(徽标) | Microsoft Docs
  17. Eclipse 怎么切换工作空间
  18. THORChain被盗:黑客资金溯源报告
  19. linux下网页制作,linux网页制作
  20. reflow(重排、回流)和repaint(重绘)

热门文章

  1. SAP plant and location
  2. CRM one order callback
  3. Equipment upload 不起作用的分析
  4. why new AET extension field creation will lead to session restart
  5. 使用Eclipse本地运行SAP UI5时, UI5库文件的js文件是从本地哪里加载的
  6. 如何让SAP Spartacus的非英语页面正常显示
  7. odata service authorization check in backend
  8. 在TCP客户端连接成功的回调函数里,无法访问到客户端套接字的明细
  9. java后台验证不能为空_java validation 后台参数验证的使用详解
  10. LR中如何添加事务,参数化,检查点,集合点,思考时间等