先引用hellocharts-library-<version>.jar

然后在layout中设置

<lecho.lib.hellocharts.view.PieChartView
android:id="@+id/chart"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
package com.example.chardemo;

import java.util.ArrayList;
import java.util.List; import lecho.lib.hellocharts.gesture.ZoomType;
import lecho.lib.hellocharts.model.PieChartData;
import lecho.lib.hellocharts.model.SliceValue;
import lecho.lib.hellocharts.renderer.PieChartRenderer;
import lecho.lib.hellocharts.util.ChartUtils;
import lecho.lib.hellocharts.view.PieChartView;
import android.graphics.Typeface;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity; public class MainActivity extends ActionBarActivity
{
private PieChartView chart;
private PieChartData data; private boolean hasLabels = true;//是否在薄片上显示label
private boolean hasLabelsOutside = false;//是否在薄片外显示label
private boolean hasCenterCircle = false;//是否中间掏空一个圈
private boolean hasCenterText1 = true;//掏空圈是的title1
private boolean hasCenterText2 = true;//掏空圈是的title2
private boolean isExploded = false;//薄片是否分离
private boolean hasLabelForSelected = false; @Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
chart = (PieChartView)findViewById(R.id.chart);
generateData(); } private void generateData()
{
int numValues = 3; List<SliceValue> values = new ArrayList<SliceValue>();
for (int i = 0; i < numValues; ++i)
{
SliceValue sliceValue = new SliceValue(
(float) Math.random() * 30 + 15, ChartUtils.pickColor());
sliceValue.setLabel((int)sliceValue.getValue()+"瓶");//设置label
values.add(sliceValue);
} data = new PieChartData(values);
data.setHasLabels(hasLabels);
data.setHasLabelsOnlyForSelected(hasLabelForSelected);
data.setHasLabelsOutside(hasLabelsOutside);
data.setHasCenterCircle(hasCenterCircle); if (isExploded)
{
data.setSlicesSpacing(24);//设置分离距离
} if (hasCenterText1)
{
data.setCenterText1("Hello!"); // Get roboto-italic font.
Typeface tf = Typeface.createFromAsset(this.getAssets(),"Roboto-Italic.ttf");//自定义的字体
data.setCenterText1Typeface(tf); // Get font size from dimens.xml and convert it to sp(library uses
// sp values).
data.setCenterText1FontSize(ChartUtils.px2sp(getResources()
.getDisplayMetrics().scaledDensity, (int) getResources()
.getDimension(R.dimen.pie_chart_text1_size)));
} if (hasCenterText2)
{
data.setCenterText2("Charts (Roboto Italic)"); Typeface tf = Typeface.createFromAsset(this.getAssets(),
"Roboto-Italic.ttf");
data.setCenterText2Typeface(tf);
data.setCenterText2FontSize(ChartUtils.px2sp(getResources()
.getDisplayMetrics().scaledDensity, (int) getResources()
.getDimension(R.dimen.pie_chart_text1_size)));
} chart.setPieChartData(data);
chart.setCircleFillRatio(0.5f);//设置放大缩小范围
} }

效果图

HelloCharts pie饼图绘制的更多相关文章

  1. OpenGL——折线图柱状图饼图绘制

    折线图绘制代码: #include<iostream> //旧版本 固定管线 #include<Windows.h> #include <GL/glut.h> // ...

  2. Highcharts Pie 饼图提示标签IE下重叠解决方法,及json数据绑定方法

    一.提示标签重叠解决方法: series: [{ startAngle:90,//添加这个属性,就可以解决 type: 'pie', name: '充值方式' }] 不知道为什么,上述方法不行了.第一 ...

  3. QT学习 之 三维饼图绘制

    QT里没有相应统计图形的绘制组件 只有手工自己画 效果如图 void aaq::paintEvent( QPaintEvent* ev ) { QPainter painter(this); // 去 ...

  4. Echarts饼图绘制

    实现效果: html代码: <div id="chartBody1" style="width:120%;height:28vh;"> <di ...

  5. pie 饼图

    1最简单的饼图 // 定制饼图box4饼形图-年龄分布 (function () { const box4 = document.getElementById('box4') const mychar ...

  6. Highcharts获取json数据展现pie饼图

    实际上很多时候图表展现的数据都是从服务器端获取,现在来做一个简单的异步获取json数据的例子. 服务器端用Servlet3.0实现,JSP页面通过jquery异步请求json数据提供给Highchar ...

  7. Echatrs 中PIE饼图中间位置怎么显示总数值?

    title: { text: '总资产', subtext: '2000000.00', x: 'center', y: 'center' }图例:

  8. Python pyecharts绘制饼图

    一.pyecharts绘制饼图语法简介 饼图主要用于表现不同类目的数据在总和中的占比.每个的弧度不是数据量的占比pie.add()方法的用法add(name, attr, value, radius= ...

  9. Python培训:绘制饼图或圆环图

    使用pyplot的pie()函数可以快速地绘制饼图或圆环图,pie()函数的语法格式如下所示: 该函数常用参数的含义如下. ·x:表示扇形或楔形的数据. ·explode:表示扇形或楔形离开圆心的距离 ...

随机推荐

  1. Linq/List/Array/IEnumerable等集合操作

    来源:http://www.cnblogs.com/liushanshan/archive/2011/01/05/1926263.html 目录 1    LINQ查询结果集    1 2    Sy ...

  2. Codeforces Round #278 (Div. 1)

    A A monster is attacking the Cyberland! Master Yang, a braver, is going to beat the monster. Yang an ...

  3. 在TCP协议下的数据传送

    本人小白菜逼一枚,,,,刚建立博客,也写不了太深入的,就写点上课的笔记什么的.有错误希望广大博友指出,我一定虚心学习接收改正. 我的新浪邮箱:liudaohui0805@sina.com 我的QQ邮箱 ...

  4. traceroute小结 come from CSDN author:houdong

    traceroute程序可以使我们看到IP数据报从一台主机传到另一台主机的所经过的路由,并且可以使用IP源站路由选项. traceroute取代IP RR的原因 1 不是所有的路由器都支持IP RR选 ...

  5. .NET winform 在listview中添加progressbar

    找了好长时间没找到,后来索性自己写了一个: 首先,在往listview加载数据的事件里添加progressbar: foreach (string d in arr) { ; item = new L ...

  6. dedecms文章的更新时间问题 每次更改文章时间变成最新的

    dedecms 每次更改文章,更新时间这里每次改了后再来看又变成当前最新时间的了. 解决方法: 查找后台目录的 templets/article_edit.htm 这个文件. 然后打开,查找如下代码: ...

  7. Android网络框架比较

    今天,公司需要为一个安卓app选择一个合适的网络框架,具体我了解,主要的安卓网络框架有okhttp,retrofit,android-async-http,volley. 查找网上的资料,大致可以得到 ...

  8. 钢管下料问题2(剩余材料最少)lingo求解

    大家好,我是小鸭酱,博客地址为:http://www.cnblogs.com/xiaoyajiang !钢管下料问题2(剩余材料最少) 题目: 钢管原料   每根19m 客户需求   4m   50根 ...

  9. 提交svn报错说 有 unversioned 的文件

    这个说明   有未add的图片等东西,需要先add进去再提交

  10. bash模式和模式匹配

    bash模式和模式匹配 ${variable#pattern} 如果模式匹配变量取值的开头,删除最短匹配部分,返回其余部分 ${variable##pattern} 如果模式匹配变量取值的开头,删除最 ...