热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

AndroidAChartEngine个性化设置

AChartEngine的确是一个强大的图标引擎,但文档写得不是很详细,很多设置只能通过方法名推测和实际尝试,下面是一些自己在实际中遇到的需要设置的选项,常见的那些和通过方法名就能轻松猜到的就不赘述了

AChartEngine的确是一个强大的图标引擎,但文档写得不是很详细,很多设置只能通过方法名推测和实际尝试,下面是一些自己在实际中遇到的需要设置的选项,常见的那些和通过方法名就能轻松猜到的就不赘述了,网上也一大把,下面介绍一些稍冷门点的,但很个性化的几个方法。不罗嗦,先看最终效果,只谈效果,不谈美感^_^

要介绍的几个方法分别可以设置坐标轴的颜色、坐标轴标签、折线图颜色。

mRenderer.setAxesColor(Color.CYAN);
设置坐标轴的颜色

mRenderer.addXTextLabel(7, "速度"); 
上面的方法设置X轴的标签,第一个参数指定标签在横轴坐标为7的位置,Y轴的类似

mRenderer.setYLabelsAngle(270);
上面的方法设置Y轴的标签的角度,不调用此方法最终的标签是水平显示的,比较难看,角度是顺时针方向的,默认是0度,图中所示是270度,也就是Y轴坐标增大的方向,如果设置成90度,将会变成Y轴坐标减小的方向显示标签

mRenderer.setYLabelsColor(0, Color.RED);
设置Y轴标签的颜色,第一个参数是scale,经尝试,只能是0,1和2之类的都不行,也没查到具体说明

mRenderer.setXLabelsColor(Color.BLUE);
这是X轴标签的颜色,与Y轴标签颜色设置不同的是没有scale参数


核心代码如下:
 1 private void initChat(View rootView) {
2 LinearLayout layout = (LinearLayout) rootView
3 .findViewById(R.id.task_status_layout);
4
5 mChartView = ChartFactory.getLineChartView(getActivity(), mDataset,
6 mRenderer);
7 layout.addView(mChartView, new LayoutParams(LayoutParams.MATCH_PARENT,
8 LayoutParams.MATCH_PARENT));
9
10 mRenderer.setClickEnabled(false);
11 mRenderer.setPanEnabled(false);
12 mRenderer.setZoomButtonsVisible(false);
13 mRenderer.setZoomEnabled(false);
14 mRenderer.setDisplayValues(true);
15 mRenderer.setShowLegend(false);
16
17 mRenderer.setLabelsTextSize(25);
18 mRenderer.setLabelsColor(Color.GREEN);
19 //坐标轴颜色
20 mRenderer.setAxesColor(Color.CYAN);
21 mRenderer.setShowGrid(true);
22 mRenderer.setAntialiasing(true);
23 mRenderer.setMarginsColor(Color.TRANSPARENT);
24 mRenderer.setAxisTitleTextSize(40);
25 mRenderer.addXTextLabel(7, "速度");
26 mRenderer.addYTextLabel(7, "时间");
27 mRenderer.setYLabelsAngle(270);
28 mRenderer.setYLabelsColor(0, Color.RED);
29 mRenderer.setXLabelsColor(Color.BLUE);
30
31 XYSeries series = new XYSeries("近7日任务完成情况");
32 mDataset.addSeries(series);
33 XYSeriesRenderer renderer = new XYSeriesRenderer();
34 mRenderer.addSeriesRenderer(renderer);
35
36 renderer.setPointStyle(PointStyle.CIRCLE);
37 renderer.setFillPoints(true);
38 renderer.setDisplayChartValues(true);
39 renderer.setDisplayChartValuesDistance(10);
40 renderer.setColor(Color.DKGRAY);
41 renderer.setChartValuesTextSize(25f);
42 renderer.setLineWidth(2);
43
44 series.add(0, 0);
45 series.add(1, 1);
46 series.add(2, 3);
47 series.add(3, 6);
48 series.add(4, 8);
49 series.add(5, 2);
50 series.add(6, 4);
51 series.add(7, 8);
52 series.add(8, 1);
53
54 mChartView.repaint();
55 }

推荐阅读
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • 本文介绍了在处理不规则数据时如何使用Python自动提取文本中的时间日期,包括使用dateutil.parser模块统一日期字符串格式和使用datefinder模块提取日期。同时,还介绍了一段使用正则表达式的代码,可以支持中文日期和一些特殊的时间识别,例如'2012年12月12日'、'3小时前'、'在2012/12/13哈哈'等。 ... [详细]
  • 带添加按钮的GridView,item的删除事件
    先上图片效果;gridView无数据时显示添加按钮,有数据时,第一格显示添加按钮,后面显示数据:布局文件:addr_manage.xml<?xmlve ... [详细]
  • Android源码中的Builder模式及其作用
    本文主要解释了什么是Builder模式以及其作用,并结合Android源码来分析Builder模式的实现。Builder模式是将产品的设计、表示和构建进行分离,通过引入建造者角色,简化了构建复杂产品的流程,并且使得产品的构建可以灵活适应变化。使用Builder模式可以解决开发者需要关注产品表示和构建步骤的问题,并且当构建流程发生变化时,无需修改代码即可适配新的构建流程。 ... [详细]
  • Java图形化计算器设计与实现
    本文介绍了使用Java编程语言设计和实现图形化计算器的方法。通过使用swing包和awt包中的组件,作者创建了一个具有按钮监听器和自定义界面尺寸和布局的计算器。文章还分享了在图形化界面设计中的一些心得体会。 ... [详细]
  • 正则表达式及其范例
    为什么80%的码农都做不了架构师?一、前言部分控制台输入的字符串,编译成java字符串之后才送进内存,比如控制台打\, ... [详细]
  • android:EditText属性去边框EditText继承关系:View--TextView--EditTextEditText的属性很多,这里介绍几个:android:h ... [详细]
  • 深入理解CSS中的margin属性及其应用场景
    本文主要介绍了CSS中的margin属性及其应用场景,包括垂直外边距合并、padding的使用时机、行内替换元素与费替换元素的区别、margin的基线、盒子的物理大小、显示大小、逻辑大小等知识点。通过深入理解这些概念,读者可以更好地掌握margin的用法和原理。同时,文中提供了一些相关的文档和规范供读者参考。 ... [详细]
  • 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板
    本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细]
  • Visual C# TabControl中TabPage分离成若干个Form的小办法
    写Visual的同学们都会用到这个TabControl的控件,然后会分好几页的TabPage,每页都有很多控件和业务逻辑,但是每页的关系也 ... [详细]
  • 点击上方“新机器视觉”,选择加”星标”或“置顶”重磅干货,第一时间送达很早就想总结一下前段时间学习HALCON的心得,但由于其他的事情总是抽不出时间。去年有过一段时间的集中学习,做 ... [详细]
  • 在一对一直播源码使用过程中,有时会出现软键盘切换闪屏问题,就是当切换表情的时候屏幕会跳动,因此要对一对一直播源码表情面板无缝切换进行优化。 ... [详细]
author-avatar
嘟嘟酱
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有