返回顶部
首页 > 资讯 > 移动开发 >Android中使用achartengine生成图表的具体方法
  • 139
分享到

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

achartengine方法Android 2022-06-06 10:06:49 139人浏览 八月长安
摘要

今天在做项目的时候用到了图表功能,记录下来 achartengine是Google的一个开源项目,可以在https://code.google.com/p/achartengi

今天在做项目的时候用到了图表功能,记录下来

achartengine是Google的一个开源项目,可以在https://code.google.com/p/achartengine/ 下载技术文档,jar包以及项目源代码

demo下载:Https://code.google.com/p/achartengine/downloads/list

一、饼状图

新建工程,添加achartengine  jar包

PieChart.java

代码如下:
package com.meritit.footlottery.view;

import org.achartengine.ChartFactory;
import org.achartengine.model.CategorySeries;
import org.achartengine.renderer.DefaultRenderer;
import org.achartengine.renderer.SimpleSeriesRenderer;

import Android.content.Context;
import android.graphics.Color;
import android.view.View;

public class PieChart {
 public View execute(Context context) {
  int[] colors = new int[] { Color.RED, Color.YELLOW, Color.BLUE };
  DefaultRenderer renderer = buildCategoryRenderer(colors);
  CategorySeries categorySeries = new CategorySeries("Vehicles Chart");
  categorySeries.add("胜 ", 30);
  categorySeries.add("负", 20);
  categorySeries.add("平", 60);
  return ChartFactory
    .getPieChartView(context, categorySeries, renderer);
 }

 protected DefaultRenderer buildCategoryRenderer(int[] colors) {
  DefaultRenderer renderer = new DefaultRenderer();
  for (int color : colors) {
   SimpleSeriesRenderer r = new SimpleSeriesRenderer();
   r.setColor(color);
   renderer.addSeriesRenderer(r); 
  }
  //显示标签
  renderer.setShowLabels(true);
  //不显示底部说明
  renderer.setShowLegend(false);
  //设置标签字体大小
  renderer.setLabelsTextSize(15);
  renderer.setLabelsColor(Color.BLACK);
  renderer.setZoomEnabled(false);
  renderer.setPanEnabled(false);
  return renderer;
 }
}

使用方法
代码如下:
//View pieChart = new PieChart().execute(this);
//chartArea.addView(pieChart);

获得一个View对象,在需要添加的布局下面直接addView

二、柱状图

代码如下:
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);
 }
     
    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; 
    }
     
    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; 
    }
     
    private void setChartSettings(X YMultipleSeriesRenderer renderer) { 
        renderer.setChartTitle("战绩分析"); 
        renderer.setXTitle("横坐标"); 
        renderer.setYTitle("纵坐标"); 
        renderer.setXAxisMin(0.5); 
        renderer.setXAxisMax(10.5); 
        renderer.setYAxisMin(0); 
        renderer.setYAxisMax(210); 
    } 
}

上面代码部分解释:
renderer.setApplyBackgroundColor(true);  //设置背景使能,为true下面的设置背景才有效

renderer.setBackgroundColor(Color.TRANSPARENT);  //设置背景

renderer.setMarginsColor() //设置周围区域颜色

renderer.setZoomEnabled(false, false);  //设置是否能放大

renderer.setPanEnabled(false, false);  //设置是否可以移动

renderer.setLabelsTextSize(15);  //设置标签文字大小
renderer.setLabelsColor(Color.BLACK);

您可能感兴趣的文章:android Activity线性布局和表格布局实例讲解android 线性布局LinearLayout实例代码Android UI组件LinearLayout线性布局详解Android布局之LinearLayout线性布局Android RecyclerView线性布局详解(1)Android 百分比布局详解及实例代码Android自定义View圆形百分比控件(一)一个酷炫的Android图表制作框架Android实现轻量线性与百分比图表的方法


--结束END--

本文标题: Android中使用achartengine生成图表的具体方法

本文链接: https://lsjlt.com/news/27247.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Android中使用achartengine生成图表的具体方法
    今天在做项目的时候用到了图表功能,记录下来 achartengine是google的一个开源项目,可以在https://code.google.com/p/achartengi...
    99+
    2022-06-06
    achartengine 方法 Android
  • 如何在Android中使用achartengine绘制图表
    如何在Android中使用achartengine绘制图表?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 ABarChart.javapackage ...
    99+
    2023-05-30
    android achartengine
  • python委派生成器的具体方法
    1、生成器函数包含yield from表达式。 2、在yield from表达式处暂停委派生成器,调用方可直接将数据发送给子生成器。 3、子生成器将输出值发送给调用方。 4、解释器会...
    99+
    2022-11-21
    python 委派生成器
  • android中圆角图像生成方法
    本文实例讲述了android中圆角图像生成方法。分享给大家供大家参考。具体分析如下: 在android开发中为了美观,常常要求ImageView中显示出圆角图像的效果,这个如何...
    99+
    2022-06-06
    方法 Android
  • python生成图表的方法有哪些
    Python生成图表的方法有多种,其中常用的包括:1. Matplotlib:是Python中最常用的绘图库,提供了丰富的绘图功能,...
    99+
    2023-09-15
    python
  • Android中正确使用字体图标(iconfont)的方法
    字体图标 字体图标是指将图标做成字体文件(.ttf),从而代替传统的png等图标资源。 使用字体图标的优点和缺点分别为: 优点:    &...
    99+
    2022-06-06
    方法 字体 Android
  • Python中str.format()方法的具体使用
    目录1. 术语说明 2. 简单字段名 2.1 简单字段名的说明 2.2 省略字段名 2.3 数字形式的简单字段名 2.4 变量名形式的简单字段名 2.5 简单字段名的混合使用 2.6...
    99+
    2024-04-02
  • PHP中upload.php的具体使用方法
    这篇文章主要介绍“PHP中upload.php的具体使用方法”,在日常操作中,相信很多人在PHP中upload.php的具体使用方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP中upload.php的...
    99+
    2023-06-17
  • Vue中使用TailwindCSS的具体方法
    目录1. 快速使用2. 快速了解 Tailwind CSS 类3. 在 Tailwind CSS 中使用 flex 布局4. 实现常见的布局5. 实现黑白主题切换6. Tailwin...
    99+
    2023-05-14
    Vue使用Tailwind CSS Vue Tailwind CSS
  • Python3re.search()方法的具体使用
    re.search()方法扫描整个字符串,并返回第一个成功的匹配。如果匹配失败,则返回None。 与re.match()方法不同,re.match()方法要求必须从字符串的开头进行匹...
    99+
    2024-04-02
  • numpy.insert()的具体使用方法
    目录1. 参数说明2. 示例2.1. 插入一列,值为标量2.2. 插入一列,值为一维矩阵2.3. 插入多列,值为标量2.4. 输入为一维向量2.5. 输入为矩阵numpy.inser...
    99+
    2023-02-09
    numpy.insert()使用
  • Pythonlistsort方法的具体使用
    目录描述 语法 使用示例 1. 所有参数都省略 2. 指定key参数 3. 指定reverse参数 注意事项 1. sort函数会改变原列表顺序 2. 列表元素类型不一致 3. Py...
    99+
    2024-04-02
  • 如何在Django中使用Pyecharts生成图表
    如何在Django中使用Pyecharts生成图表?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1 因为pyecharts是支持python的一种可视化,但是想要将其放入网页中...
    99+
    2023-06-15
  • Pytest中skip和skipif的具体使用方法
    skip的用法 使用示例:@pytest.mark.skip(reason="跳过的原因,会在执行结果中打印") 标记在测试函数中 举个🌰 import pytest def test_1()...
    99+
    2022-06-02
    skip和skipif的使用 Python Pytest
  • Linux中history命令的具体使用方法
    这篇文章主要介绍“Linux中history命令的具体使用方法”,在日常操作中,相信很多人在Linux中history命令的具体使用方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux中history...
    99+
    2023-06-13
  • Java的invoke方法的具体使用
    如果读一些Java或者相关框架的源码,实际上一定会经常出现invoke方法的调用,在自己或者团队封装框架时,如果有时候弄得不好经常也会报invoke相关的错。 invoke方法是干什...
    99+
    2024-04-02
  • R语言histogram(直方图)的具体使用
    最近小仙同学很是烦恼,本以为自己已经掌握了ggplot2作图的语法,用read.csv(), ggplot()+geom_point()/boxplot()/violinplot()...
    99+
    2024-04-02
  • 使用navicat工具生成表的新增字段sql
    在需要的表右键,设计表 2、点击【添加字段】 3、创建字段及注释,不要点【保存】和Ctrl+S 4、点击【SQL预览】 复制生成的sql语句 来源地址:https://blog.csdn.n...
    99+
    2023-09-09
    sql mysql navicat
  • C语言结构体的具体使用方法
    目录初识C语言结构体1.为什么要有结构体2.结构体的定义2.1结构体类型的定义2.2定义结构体普通变量及访问2.3定义结构体指针变量及访问初识C语言结构体 1.为什么要有结构体 (1...
    99+
    2024-04-02
  • python使用生成器的方法
    这篇文章主要介绍了python使用生成器的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python使用生成器的方法文章都会有所收获,下面我们一起来看看吧。尽可能使用生成器单机处理较大数据量时,生成器往往很...
    99+
    2023-06-27
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作