LWUIT + J4LChart 之 多种Chart

Android中绘制图表的几个优秀开源库 现在又个需求要绘制一个3d的饼图,找了很多第三方开源库,略微总结一下。 1.j4lChartAndroid.jar http://www.java4less.com/charts/chart.php?info=download 2.HelloCharts for Android https://github.com/jakezhang1990/hellocharts-android 3.XCL-Charts https://github.com/jakezhang1990/XCL-Charts-mast 阅读详情
  本文来自http://blog.youkuaiyun.com/hellogv/


本文例子代码,可以到这里下载:http://download.youkuaiyun.com/source/886261
Lwuit就不必介绍了,至于J4LChart,就不得不介绍一下了。。。。。。J4LChart,提供了完整的Chart图表,从饼、线、柱等都一网打尽,并且其使用也比较简单,Chart的式样可以从TXT文本中读取,当然,也可以在代码里修改啦,不过,用TXT文件读取,可以做成模板那样,想换就换。。。。。。
下面就贴出J4LChart的使用代码,也好简单的:
  1. package com.sun.lwuit.uidemo;
  2. import com.sun.lwuit.Command;
  3. import com.sun.lwuit.Form;
  4. import com.sun.lwuit.events.ActionEvent;
  5. import com.sun.lwuit.events.ActionListener;
  6. import com.java4less.rchart.Chart;
  7. import com.java4less.rchart.ChartLoader;
  8. import com.java4less.rchart.gc.GraphicsProvider;
  9. import com.java4less.rchart.lwuit.ChartViewer;
  10. import com.java4less.rchart.util.Formats;
  11. import com.sun.lwuit.Display;
  12. import com.sun.lwuit.animations.Transition3D;
  13. import com.sun.lwuit.geom.Dimension;
  14. import com.sun.lwuit.layouts.BorderLayout;
  15. import java.util.Date;


  16. public class ChartDemo implements ActionListener {
  17.     public Form form = new Form("J4LChart");
  18.  
  19.   Display display;
  20.   Command nextExample= new Command("Next");
  21.   Command previousExample= new Command("Previous");
  22.   ChartViewer chartCanvas;
  23.   ChartLoader loader;

  24.   String[] examples={"areaChart.txt","areaCurves.txt","axisOnTop.txt","barChart3D.txt","barChart3D.txt","barChart.txt",
  25.   "barImages.txt","bubbleChart.txt","candleStick.txt","combined2Positions.txt","combinedChart.txt","event.txt","linechart3D.txt",
  26.   "linechart.txt","linechartClipping.txt","linechartNULLS.txt","MultiAxis.txt","MultiCharts.txt","patternFilling.txt",
  27.   "piechart3D.txt","PieDrillDown.txt","radarChart.txt","realtime.txt","scatterChart.txt","stackedBar.txt","StackedMultiAxis.txt",
  28.   "subpie1.txt","subpie2.txt","subpie3.txt","targetZones.txt"};

  29.   int currentExample=0;

  30.   /*
  31.    * 初始化Chart,从文本读取chart图结构并显示
  32.    */
  33.     ChartDemo()
  34.     {
  35.         GraphicsProvider.setMode(GraphicsProvider.MODE_LWUIT);

  36.         form.addCommand(previousExample);//上一个
  37.         form.addCommand(nextExample);//下一个

  38.         form.setCommandListener(this);
  39.         chartCanvas=new ChartViewer();//chart视图
  40.         chartCanvas.setPreferredSize(new Dimension(200,200));//设置大小
  41.         loadChartFromFile("/txt/"+examples[currentExample]);//读取文本,设置chart
  42.         form.setLayout(new BorderLayout());
  43.         form.addComponent(BorderLayout.CENTER,chartCanvas);
  44.         form.refreshTheme();
  45.     }

  46.   /*
  47.    * 在读取TXT文件的同时,同时设置Chart里面的数值
  48.    */
  49.     private void createRealtimedata(ChartLoader loader) {

  50.         java.util.Date now=java.util.Calendar.getInstance().getTime();
  51.         loader.setParameter("XAXIS_INITIAL_DATE",Formats.formatDate(now,"dd/MM/yyyy hh:mm:ss"));
  52.         //  create random data based on the time
  53.         java.util.Calendar cal=java.util.Calendar.getInstance();
  54.         String data1="";
  55.         String data2="";
  56.         for (int i=0;i<9;i++) {
  57.                 cal.setTime(new Date(cal.getTime().getTime()-2000));
  58.                 if (data1.length()>0) data1="|" + data1;
  59.                 data1=""+cal.get(java.util.Calendar.SECOND)+ data1;
  60.                 if (data2.length()>0) data2="|" + data2;
  61.                 data2=""+(cal.get(java.util.Calendar.SECOND)/6)+ data2;
  62.         }

  63.         loader.setParameter("SERIE_DATA_1",data1);
  64.         loader.setParameter("SERIE_DATA_2",data2);

  65.      }
  66.   /*
  67.    * 读取TXT文件并设置chart
  68.    */
  69.     public void loadChartFromFile(String filename) {
  70.         ChartLoader cha=new ChartLoader();
  71.         cha.loadFromFile(this.getClass().getResourceAsStream(filename),true);//读取文本
  72.         //this.loader=cha;
  73.         //********设置Chart数值
  74.         //createRealtimedata(cha);
  75.         //********设置Chart数值
  76.         Chart c=cha.build(false,false);//建立chart
  77.         chartCanvas.setChart(c);
  78.         chartCanvas.getChart().setSize(chartCanvas.getWidth(),chartCanvas.getHeight());
  79.         chartCanvas.repaintChart();
  80.         form.setTitle(filename);
  81.     }

  82.     public void actionPerformed(ActionEvent arg0) {
  83.         if(arg0.getCommand()==nextExample)//读取上一个chart(TXT文本)
  84.         {
  85.             chartCanvas.getChart().stopUpdater();
  86.             currentExample++;
  87.             if(currentExample>=examples.length-1)
  88.                 currentExample=0;
  89.             form.replace(chartCanvas, chartCanvas,Transition3D.createRotation(500, true));
  90.             loadChartFromFile("/txt/"+examples[currentExample]);
  91.             
  92.         }
  93.         else if(arg0.getCommand()==previousExample)//读取下一个chart(TXT文本)
  94.         {
  95.             chartCanvas.getChart().stopUpdater();
  96.             currentExample--;
  97.             if(currentExample<=0)
  98.                 currentExample=examples.length-1;
  99.             form.replace(chartCanvas, chartCanvas,Transition3D.createRotation(500, false));
  100.             loadChartFromFile("/txt/"+examples[currentExample]);

  101.         }
  102.     }
  103. }


android利用j4lChartAndroid.jar绘制3D饼图 android利用第三方插件j4lChartAndroid.jar绘制3D饼图 立即下载

相关推荐

j4lChartAndroid

例子实现饼图3D效果,可以直接运行,采用j4lChartAndroid.jar

4个Android Chart开源免费的图表插件项目

http://www.son1c.cn/show/1173.html 1. Java4Less (http://java4less.com/charts/chart.php?info=android) RChart will also run on google's platform for mobile devices,Android. The...

160

Android使用Echats实现统计图

Android使用Echats实现统计图.代码通俗易懂。适合入门

关于Android中统计图的绘制应用j4lChartAndroid.jar的初步摸索

首先如果选择应用第三方的jar来开发的话,有四种选择,我选择应用Java[TM] Charts for Android 首先下载j4lChartAndroid.jar,下面是地址: http://www.java4less.com/charts/chart.php?info=download 其次要把jar加到项目中,下面的网址是具体的步骤: http://blog.youkuaiyun.com/l...

weixin_34343000的博客 132

android图表,柱形图,仪表盘,曲线图,支持3D

基于原生的Canvas来绘制各种图表。 目前支持(3D/非3D,背向式/横向/竖向)柱形图(Bar Chart)、3D/非3D饼图(Pie Chart)、堆叠图(Stacked Bar Chart)、面积图(Area Chart)、 折线图(Line Chart)、曲线图(Spline Chart)、环形图(Dount Chart)、南丁格尔玫瑰图(Rose Chart)、仪表盘(Dial Chart)、刻度盘(Gauge Chart)、 雷达图(Radar Chart)、圆形图(Circle Chart)、弧线比较图、范围条形图(RangeBar Chart)、气泡图(Bubble Chart)、散点图(Scatter Chart)、玫瑰风向图(Wind Rose)、漏斗图(Funnel Chart) 、象限图等图表。 其它特性还包括支持手势缩放、图表滑动、点击交互、多图叠加、图表批注、动画效果、多XY轴显示、轴线任意方位显示、动态图例、图表参考线、柱图刻度居中风格切换、混合图表及同数据源图表类型切换等。

Android编程实现canvas绘制饼状统计图功能示例【自动适应条目数量与大小】

主要介绍了Android编程实现canvas绘制饼状统计图功能,可实现自动适应条目数量与大小的功能,涉及Android基于canvas的图形绘制相关操作技巧,需要的朋友可以参考下

android 圆环统计图表,[android] 绘制统计图

有几种可以利用的工具库:- Java4LessCharts for Android [j4lChartAndroid.jar]———————————————— 详细介绍——————————————————————————【 二维的。 aChartEngine的api 过于简单,支持的东西较少,但是可以进行缩放。】aChartEngine 简称ACE,是google为android应用设计的一...

weixin_39627455的博客 439

LWUIT_J4LChart

在J2ME开发环境(NETBEANS)上使用LWUIT + J4LChart 实现精美的图表,有多种图像表示。。。。。

android自定义3d饼图,Android使用j4lChartAndroid插件绘制3D饼图

图表是常见的直观表示数据的途径,目前在android手机上绘制图表基本有两种方法:一是利用java的canvas自己绘制,这种方法自己可操作性强,可以随心所欲地绘制,但是缺点就是工作量大;二是利用第三方插件。本文将给大家介绍一下利用第三方插件j4lChartAndroid如何绘制一个3D饼图。效果如图: 提供j4lChartAndroid.jar文件点击打开链接 也可以下载文章最后的demo,...

weixin_33037089的博客 589

Flutter版本升级踩坑实录:从3.27到3.35,我们是如何修复Impeller引擎导致的花屏问题的?

本文详细记录了团队在Flutter版本升级过程中遇到的Impeller引擎导致的花屏问题及解决方案。从问题诊断到最终升级至稳定版3.35,文章分享了排查步骤、升级策略和性能对比数据,为开发者提供了实用的参考经验。

weixin_26854555的博客 511

Kriging代理模型理论相关推导

代理模型,Kriging,加点准则

森屹的博客 1万+

Android使用j4lChartAndroid插件绘制3D饼图

图表是常见的直观表示数据的途径,目前在android手机上绘制图表基本有两种方法:一是利用java的canvas自己绘制,这种方法自己可操作性强,可以随心所欲地绘制,但是缺点就是工作量大;二是利用第三方插件。本文将给大家介绍一下利用第三方插件j4lChartAndroid如何绘制一个3D饼图。效果如图: 提供j4lChartAndroid.jar文件 点击打开链接  也可以下载文章最后的de

守护者ly的专栏 2124

zemax双透镜公差分析

蒙特卡罗分析: 评估公差的整体影响,模拟过程中产生一系列随机的lens,满足指定的公差,然后再按照标准评估。公差分析,就是在设计了一个理想的系统后,想看看实际生产过程中如果产生公差(误差),系统会坏到什么程度,也就是光学性能受到多大影响。反灵敏度分析:分别对每个公差在性能方面的一个给定的最小允许减少量来计算公差,也就是限制了系统性能的变化,和灵敏度分析方向相反。灵敏度分析对每个公差单独求值,分别计算每个公差操作数的最大、最小、标准值(如上图)所有设计上可能的公差都列出来了。注意要固定透镜的口径。

fendoudecheng的博客 3207

android下使用RChart画曲线图动态刷新

画曲线图的activity: 复制到剪贴板  Java代码 import java.io.IOException;    import java.io.InputStream;       import android.app.Activity;    import android.os.Bundle;    import android.util.Log;

lideguo1979的专栏 3124

避坑指南:RK3568双网口RMII模式DTS配置常见错误与调试技巧

本文详细解析了RK3568双网口RMII模式DTS配置中的常见错误与调试技巧,涵盖时钟配置、PHY识别、复位时序等关键问题。通过实战案例和系统化调试方法,帮助开发者快速解决百兆以太网连接不稳定、PHY识别失败等典型问题,提升开发效率。

weixin_42549037的博客 345

Python实战:5分钟搞定N-CMAPSS航空发动机数据集解析(附完整代码)

本文提供了一份针对N-CMAPSS航空发动机数据集的快速解析实战指南。通过Python的h5py库,详细演示了如何读取HDF5文件结构、理解数据分类(如传感器、健康参数、场景描述符)并加载为Pandas DataFrame。文章还澄清了数据集中常见的变量数量疑惑,并给出了从数据加载到构建剩余使用寿命预测模型预处理流水线的完整代码,帮助工程师和研究人员高效入门航空发动机预测性维护分析。

weixin_29057065的博客 422

基于ichartjs图形库在android上使用HTML动态实现3D柱形图

ichartjs 是一款基于HTML5的图形库。使用纯javascript语言, 利用HTML5的canvas标签绘制各式图形。 ichartjs致力于为WEB应用提供简单、直观、可交互的体验级图表组件。是WEB图表展示方面的解决方案 。如果你正在开发HTML5的应用,ichartjs正好适合你。 ichartjs目前支持饼图、折线图、面积图、柱形图、条形图。ichartjs是基于Apache

sunquan1127的专栏 4629

C 语言多文件编程 : 大型程序的组织与管理

本文介绍了C语言多文件编程的核心概念与实践方法。主要内容包括:1. 多文件编程的必要性:解决单文件编程在大型项目中的维护和协作问题;2. 文件组织方式:头文件(.h)负责声明接口,源文件(.c)实现具体功能;3. 编译链接过程:分阶段编译和链接多个源文件;4. 头文件设计原则:包含接口声明、使用保护机制、保持自包含性;5. 模块化实践:通过示例展示学生信息管理系统的模块划分;6. 构建工具:介绍Makefile的编写和使用方法。文章还提供了创建静态库和动态库的指导,并强调了模块化设计、信息隐藏等软件工程原则

2503_91057718的博客 1948

Android图表插件

Android图表插件 图表简介 图表使用的原因是为了将一堆杂乱无章或者是有序的数字转换为可视化、形象的图像展示,能够以简洁、简便方式展示所要表达的内容,android图表使用主要目的是进行数据分析,并将分析结果进行详细展示,客户通过汇总总结分析所要结果。 开源android图表工具 常用的android开源图表工具分为以下三种: MPAndroidChart Hello...

qq_35217562的博客 2754

Python爬虫实战:采集行业协会、研究机构等平台的政策文件列表与PDF链接批量收集系统,支持自动下载、分类归档和数据库管理(SQLite持久化存储)!

我长期专注 Python 爬虫工程化实战,主理专栏 👉 《Python爬虫实战》:从采集策略到反爬对抗,从数据清洗到分布式调度,持续输出可复用的方法论与可落地案例。内容主打一个“能跑、能用、能扩展”,让数据价值真正做到——抓得到、洗得净、用得上。

喵手的博客 642

Unity之OpenXR+XR Interaction Toolkit实现 Gaze眼部追踪

在虚拟现实(VR)和增强现实(AR)应用中,眼动追踪是一项强大而受欢迎的技术。它可以让开发者更好地理解用户的注意力和行为,并创造出更加沉浸和智能的体验。在本文中,我们将探讨如何使用 Unity OpenXR 实现Gaze眼部追踪功能。

TxNet 1752
上一篇: LWUIT + ChartComponent 之三实现柱体图(HBarChar)
下一篇: 手机二维码~~~ZXing简介
欧巴Godwin
欧巴Godwin 领域专家: 操作系统技术领域 领域专家: 操作系统技术领域
博客等级 码龄20年 9690粉丝 141原创
评论 15
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值