WilliamChart是基于Views的Android图表类库,帮助开发者在Android应用中实现折线图、柱状图和堆叠柱状图。数值发生变化时图表也会以动画的效果发生变化。

At the moment it provides:

  • LineChartView

  • BarChartView

  • StackBarChartView

使用说明: 
创建一个新的chart需要继承自ChartView的坐标轴,同时实现一些必要的方法。我觉的这些方法足以让你绘制出任何你想要的效果。 
xml文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<com.db.chart.view.ChartView
       xmlns:chart="http://schemas.android.com/apk/res-auto"
       android:layout_width="match_parent"
       android:layout_height="dp"
       ...
       chart:chart_shadowDx="dp"
       chart:chart_shadowDy="dp"
       chart:chart_shadowRadius="dp"
       chart:chart_shadowColor="color"
       chart:chart_fontSize="dp"
       chart:chart_typeface="typeface"
       chart:chart_axisBorderSpacing="dp"
       chart:chart_axisThickness="dp"
       chart:chart_axisTopSpacing="dp"
       chart:chart_axisColor="color"
       chart:chart_axisX="boolean"
       chart:chart_label="boolean"
       chart:chart_labelColor="color"
   />
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Customize labels
   chart.setLabels(NONE/OUTSIDE/INSIDE)
   chart.setLabelColor(color)
   chart.setFontSize(integer)
   chart.setTypeface(typeface)
   // Define grid
   chart.setGrid(paint)
   chart.setHorizontalGrid(paint)
   chart.setVerticalGrid(paint)
   // Show threshold line
   chart.setThresholdLine(float, paint)
   chart.setMaxAxisValue(integer, integer)
   chart.setStep(integer)
   chart.setTopSpacing(dimen)
   chart.setBorderSpacing(dimen)
   chart.setAxisX(boolean)
   chart.show()
   // Update values of a given set
   chart.updateValues(int, array)
   // Notify chart about updated values
   chart.notifyDataUpdate()
   // Tooltip support
   chart.showTooltip(view)
   chart.dismissTooltip(view)

LineChart(跟上面相同的部分用省略号)

1
2
3
<com.db.chart.LineChartView
...
/>
 
java代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
LineChartView chartView= new LineChartView()
LineSet lineSet = new LineSet()
lineSet.addPoint(new Point(string, float)
// Style dots
lineSet.setDots(boolean)
lineSet.setDotsColor(color)
lineSet.setDotsRadius(dimen)
lineSet.setDotsStrokeThickness(dimen)
lineSet.setDotsStrokeColor(color)
// Style line
lineSet.setLineThickness(dimen)
lineSet.setLineColor(color)
// Style background fill
lineSet.setFill(boolean)
lineSet.setFillColor(color)
// Style type
lineSet.setDashed(boolean)
lineSet.setSmooth(boolean)
chartView.addData(lineSet)

BarChart & StackBarChart

1
2
3
4
5
<com.db.chart.BarChartView
...
chart:chart_barSpacing="dp"
chart:chart_setSpacing="dp"
/>

java代码

1
2
3
4
5
6
7
8
9
10
11
BarChartView chartView = new BarcChartView()
barChart.setBarSpacing(dimen)
barChart.setSetSpacing(dimen)
barChart.setBarBackground(boolean)
barChart.setBarBackgroundColor(color)
barChart.setRoundCorners(dimen)
BarSet barSet = new BarSet()
Bar bar = new Bar(string, float)
bar.setColor(color)
barSet.addBar(bar)
chartView.addData(barSet)

Listener的设置

1
2
3
4
5
6
chart.setOnEntryClickListener(new OnEntryClickListener(){
     @Override
     public void onClick(int setIndex, int entryIndex, Rect entryRect) {
         //Do things
     }
 });

动画

1
2
3
4
5
6
7
8
9
10
11
12
Animation anim = new Animation()
anim.setDuration(integer)
anim.setEasing(easingFunction)
anim.setEndAction(runnable)
// Animation overlap between entries
anim.setOverlap(float)
// Animation starting point
anim.setStartPoint(floatfloat)
// Include alpha transition
anim.setAlpha(int)
// Starts animation
chart.animate(animation)
 
 

项目描述:Android library to create charts. — 查看更多内容...

问题列表:
#69 Set Dots missing 由 douglasd3  2015-08-19
#61 Not showing anything at all 由 Ph1b  2015-08-16
#50 Can I set YAxis Label to right? 由 xu6148152  2015-06-07
#29 Support CandleStickChart view 由 Archinamon  2015-01-14
#28 Consider support for pie charts 由 tuliohmendes  2015-07-29
 

分支代码更新时间:2015-08-16

开发语言:Java

ZIP文件下载

Android图表类库:WilliamChart的更多相关文章

  1. 美丽的Java图表类库

    摘要 在使用java做后台站点的开发张,图表和报表功能都是不可或缺 的.本文推荐了8款最精彩实用的Java图表应用,大部分图表应用的功能都类似,主要在于界面的美观性和使用的灵活性上有一点高低. 正文 ...

  2. Android 图表

    今天在群里有人提问Android的图表,在网上搜索了一下,在贴吧中看到的回答,说是Trinea整理的开源项目,不知道是不是博客上的Trinea. 将内容记录如下,以备需要时查看. GraphView ...

  3. 8个华丽而实用的Java图表类库

    8个华丽而实用的Java图表类库 转 https://www.300168.com/yidong/show-2744.html   核心提示:学习Java的同学注意了!!! 学习过程中遇到什么问题或者 ...

  4. 5个最顶级jQuery图表类库插件-Charting plugin

    转载: http://www.cnblogs.com/chu888chu888/archive/2012/12/22/2828962.html 作者:Leonel Hilario翻译:Terry li ...

  5. Android图表库MPAndroidChart(十四)——在ListView种使用相同的图表

    Android图表库MPAndroidChart(十四)--在ListView种使用相同的图表 各位好久不见,最近挺忙的,所有博客更新的比较少,这里今天说个比较简单的图表,那就是在ListView中使 ...

  6. Android图表库MPAndroidChart(十三)——简约的底部柱状图

    Android图表库MPAndroidChart(十三)--简约的底部柱状图 我们继续上一讲,今天还是说下柱状图,这个图的话应该是用的比较多的,所有拿出来溜溜,先看下效果 我们还是来看下基本实现 一. ...

  7. Android图表库MPAndroidChart(十二)——来点不一样的,正负堆叠条形图

    Android图表库MPAndroidChart(十二)--来点不一样的,正负堆叠条形图 接上篇,今天要说的,和上篇的类似,只是方向是有相反的两面,我们先看下效果 实际上这样就导致了我们的代码是比较类 ...

  8. Android图表库MPAndroidChart(十一)——多层级的堆叠条形图

    Android图表库MPAndroidChart(十一)--多层级的堆叠条形图 事实上这个也是条形图的一种扩展,我们看下效果就知道了 是吧,他一般满足的需求就是同类数据比较了,不过目前我还真没看过哪个 ...

  9. Android图表库MPAndroidChart(十)——散点图的孪生兄弟气泡图

    Android图表库MPAndroidChart(十)--散点图的孪生兄弟气泡图 起泡图和散点图如出一辙,但是个人认为要比散点图好看一点,我们来看下实际的演示效果 这个和散点图的实现很相似,我们一起来 ...

随机推荐

  1. Linux脚本,关闭服务器的所有tomcat并且重新启动

    echo '开始查找tomcat进程' ID=`ps -fx | grep tomcat | awk '{print $1}'` echo $ID echo "开始结束tomcat进程&qu ...

  2. Git学习笔记(三)

    一.标签是什么 发布一个版本时,我们通常先在版本库中打一个标签,这样,就唯一确定了打标签时刻的版本.将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来.所以,标签也是版本库的一 ...

  3. Vim魔法堂:认识快捷键绑定

    Brief 习惯在VS上按<F5>来编译运行程序,刚用上VIM上就觉得无比的麻烦,而随着对VIM的学习我们分阶段的简化这一操作 1. 退出VIM,在shell下编译&&运行 ...

  4. git gitignore文件失效处理

    这里讲的是使用 git ignore 时候的一种特殊情况   正常你在本地给项目添加了一些文件之后,一般都会自动全部跟踪,但是在这个时候你必须编辑一个ignore文件,把一些不需要跟踪到文件ignor ...

  5. Python处理JSON

    从开源中国的博客搬来,合并博客 一.JSON是什么? JSON是一种轻量级的数据交换格式 二.Python处理JSON的思维 其实很容易理解,无非是将数据编成JSON格式数据和吧JSON格式的数据解析 ...

  6. [Asp.net 5] DependencyInjection项目代码分析4-微软的实现(2)

    在 DependencyInjection项目代码分析4-微软的实现(1)中介绍了“ServiceTable”.“ServiceEntry”.“IGenericService”.“IService”. ...

  7. ASP.NET Core开发-使用Nancy框架

    Nancy简介 Nancy是一个轻量级的独立的框架,下面是官网的一些介绍: Nancy 是一个轻量级用于构建基于 HTTP 的 Web 服务,基于 .NET 和 Mono 平台,框架的目标是保持尽可能 ...

  8. MVC5+EF6 入门完整教程13 -- 动态生成多级菜单

    稍微有一定复杂性的系统,多级菜单都是一个必备组件. 本篇专题讲述如何生成动态多级菜单的通用做法. 我们不用任何第三方的组件,完全自己构建灵活通用的多级菜单. 需要达成的效果:容易复用,可以根据mode ...

  9. jquery内容选择器(匹配内容为空的元素)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. jquery层级原则器(匹配前一个元素后的下一个元素,必须是挨着的)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...