HelloCharts pie饼图绘制
先引用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饼图绘制的更多相关文章
- OpenGL——折线图柱状图饼图绘制
折线图绘制代码: #include<iostream> //旧版本 固定管线 #include<Windows.h> #include <GL/glut.h> // ...
- Highcharts Pie 饼图提示标签IE下重叠解决方法,及json数据绑定方法
一.提示标签重叠解决方法: series: [{ startAngle:90,//添加这个属性,就可以解决 type: 'pie', name: '充值方式' }] 不知道为什么,上述方法不行了.第一 ...
- QT学习 之 三维饼图绘制
QT里没有相应统计图形的绘制组件 只有手工自己画 效果如图 void aaq::paintEvent( QPaintEvent* ev ) { QPainter painter(this); // 去 ...
- Echarts饼图绘制
实现效果: html代码: <div id="chartBody1" style="width:120%;height:28vh;"> <di ...
- pie 饼图
1最简单的饼图 // 定制饼图box4饼形图-年龄分布 (function () { const box4 = document.getElementById('box4') const mychar ...
- Highcharts获取json数据展现pie饼图
实际上很多时候图表展现的数据都是从服务器端获取,现在来做一个简单的异步获取json数据的例子. 服务器端用Servlet3.0实现,JSP页面通过jquery异步请求json数据提供给Highchar ...
- Echatrs 中PIE饼图中间位置怎么显示总数值?
title: { text: '总资产', subtext: '2000000.00', x: 'center', y: 'center' }图例:
- Python pyecharts绘制饼图
一.pyecharts绘制饼图语法简介 饼图主要用于表现不同类目的数据在总和中的占比.每个的弧度不是数据量的占比pie.add()方法的用法add(name, attr, value, radius= ...
- Python培训:绘制饼图或圆环图
使用pyplot的pie()函数可以快速地绘制饼图或圆环图,pie()函数的语法格式如下所示: 该函数常用参数的含义如下. ·x:表示扇形或楔形的数据. ·explode:表示扇形或楔形离开圆心的距离 ...
随机推荐
- 第一个Delphi小程序
第一次应工作需呀,接触这个语言,今晚在自己的电脑搭建好环境,写的第一个超简单的Delphi小程序! var temp:Integer; //求个位数 procedure TForm1.BitBtn1C ...
- MongoDB-C# Driver账户密码登录问题
MongoDb在3.0之后添加了SCRAM-SHA-1,用户验证模式.添加的用户,默认登录协议也是这个. 在登陆的时候就要选择使用这种方式登录.有的gui客户端的登录验证方式还是MONGODB-CR. ...
- SVN搭建本地版本控制仓库
1.安装TortoiseSVN 2.新建一个文件夹,比如F:\SvnProjectsCfg 3.在F:\SvnProjectsCfg新建一个文件夹project1,右键该文件夹选择“create re ...
- php时间戳与时间转换
PHP时间大的来分有两种,一是时间戳类型(1228348800),二是正常日期格式(2008-12-4) 所以存到数据库也有两种形式了(真正不止,我的应用就两种),时间戳类型我是保存为字符串的,这个是 ...
- npm和gulp学习笔记
原文链接:[gulpfile.js文件常见配置]
- 浅谈JS中的闭包
浅谈JS中的闭包 在介绍闭包之前,我先介绍点JS的基础知识,下面的基础知识会充分的帮助你理解闭包.那么接下来先看下变量的作用域. 变量的作用域 变量共有两种,一种为全局变量,一种为局部变量.那么全局变 ...
- Python新手学习基础之数据类型——字符串的切片截取
切片截取是python中字符串常见的一些操作,我们会在这篇文章里详细介绍,切片截取的作用是获取子字符或子字符串. 实际上,我们要做的就是使用索引,用冒号分隔两个索引,形式为:变量[头下标:尾下标],冒 ...
- IOS NSURL基本操作-备
NSURL其实就是我们在浏览器上看到的网站地址,这不就是一个字符串么,为什么还要在写一个NSURL呢,主要是因为网站地址的字符串都比较复杂,包括很多请求参数,这样在请求过程中需要解析出来每个部门,所以 ...
- 通过布局文件来显示ListView内容并注册 ListView事件
1:layout/vlist.xml是我们的布局文件,在这里一定要对首节点加上 android:descendantFocusability="blocksDescendants" ...
- Codeforces 429B Working out
http://codeforces.com/contest/429/problem/B 题意:一个从左下到右上,一个从左上到右下,要求只相交一次,求整个路径和的最大值 思路:发现可以枚举交点,然后算到 ...