Android使用MPAndroidChat

Android 图表开发开源库 MPAndroidChart 使用总结 MPAndroidChart 集成使用过程详解 阅读详情

参考文档:
https://blog.youkuaiyun.com/u013184970/article/details/52095170
https://blog.youkuaiyun.com/cen_yuan/article/details/52204281
注意:
在要使用的module的build.gradle添加:
dependencies {
compile ‘com.github.PhilJay:MPAndroidChart:v3.0.0-beta1’
}
与compile 'com.github.PhilJay:MPAndroidChart:v2.2.5’有些不同!
案例使用的是2.2.5

一、说明

bulid.gradle(project)中添加
allprojects {
repositories {
jcenter()
maven { url “https://jitpack.io” }
}
}
bulid.gradle(app)中添加
dependencies {
compile ‘com.github.PhilJay:MPAndroidChart:v2.2.5’
}

二、XML代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.zjs.mpandroidchart.MainActivity">

    <com.github.mikephil.charting.charts.PieChart
        android:id="@+id/consume_pie_chart"
        android:layout_width="match_parent"
        android:layout_height="400dp"
        android:layout_gravity="center_horizontal"
        android:layout_marginLeft="16dp"
        android:layout_marginRight="16dp">
    </com.github.mikephil.charting.charts.PieChart>
    <TextView
        android:id="@+id/botton_text"
        android:textSize="25dp"
        android:textColor="#f00"
        android:text=""
        android:gravity="center_horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

</LinearLayout>

三、activity代码

package com.zjs.mpandroidchart;

import android.graphics.Color;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.DisplayMetrics;
import android.widget.TextView;

import com.github.mikephil.charting.charts.PieChart;
import com.github.mikephil.charting.components.Legend;
import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.PieData;
import com.github.mikephil.charting.data.PieDataSet;
import com.github.mikephil.charting.formatter.ValueFormatter;
import com.github.mikephil.charting.utils.ViewPortHandler;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {
    public PieChart mChart;
    private TextView mText;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mChart = (PieChart) findViewById(R.id.consume_pie_chart);
//        初始化饼状图数据类
        PieData mpieData = getPieData();
        mText = (TextView) findViewById(R.id.botton_text);
        mText.setText("全年消费情况");
        showMchat(mChart, mpieData);


    }

    private void showMchat(PieChart pieChart, PieData pieData) {
//        设置饼状图中心透明
        pieChart.setHoleColor(Color.TRANSPARENT);
//        //设置描述
//        pieChart.setDescription("全年消费情况");
//        //设置描述字体大小
//        pieChart.setDescriptionTextSize(50f);
//        //设置描述颜色
//        pieChart.setDescriptionColor(Color.RED);
//        //设置描述字体
//        pieChart.setDescriptionTypeface(Typeface.DEFAULT);
//       pieChart.setDescriptionPosition(666,1300);

//          设置饼状图的半径
        pieChart.setHoleRadius(60f);
//        饼状图添加文字
        pieChart.setDrawHoleEnabled(true);
        pieChart.setCenterText("家庭支出");
        pieChart.setCenterTextSize(26f);
        pieChart.setCenterTextColor(Color.RED);

//        初始选择角度
        pieChart.setRotationAngle(90);
//        设置手动可以旋转
        pieChart.setRotationEnabled(true);
//        设置百分比显示
        pieChart.setUsePercentValues(true);
        pieChart.setData(pieData);
//        设置比例图
        Legend mlegend = pieChart.getLegend();
        mlegend.setPosition(Legend.LegendPosition.RIGHT_OF_CHART);
        mlegend.setTextSize(15);
        mlegend.setTextColor(Color.RED);
        mlegend.setXEntrySpace(7f);
        mlegend.setYEntrySpace(5f);

//        初始动画
        pieChart.animateXY(1000, 1000);


    }

    private PieData getPieData() {
//      衣食住行以及其他
        ArrayList<String> xValues = new ArrayList<>();
        xValues.add("衣");
        xValues.add("食");
        xValues.add("住");
        xValues.add("行");
        xValues.add("其他");
        ArrayList<Entry> yValues = new ArrayList<>();
        float y1 = 10;
        float y2 = 20;
        float y3 = 25;
        float y4 = 40;
        float y5 = 5;
        yValues.add(new Entry(y1, 0));
        yValues.add(new Entry(y2, 1));
        yValues.add(new Entry(y3, 2));
        yValues.add(new Entry(y4, 3));
        yValues.add(new Entry(y5, 4));
//        PieDataSet pieDataSet = new PieDataSet(yValues, "2018年家庭支出");
        PieDataSet pieDataSet = new PieDataSet(yValues, "");
        pieDataSet.setSliceSpace(1f);
        ArrayList<Integer> colour = new ArrayList<>();
//      饼状图颜色
        colour.add(Color.RED);
        colour.add(Color.BLUE);
        colour.add(Color.YELLOW);
        colour.add(Color.GRAY);
        colour.add(Color.GREEN);
        pieDataSet.setColors(colour);
        pieDataSet.setValueTextColor(Color.BLACK);
        pieDataSet.setValueTextSize(25);
        pieDataSet.setValueFormatter(new ValueFormatter() {
            @Override
            public String getFormattedValue(float value, Entry entry, int dataSetIndex, ViewPortHandler viewPortHandler) {
                return "" + (int) value + "%";
            }
        });
        DisplayMetrics metrics = getResources().getDisplayMetrics();
        float px = 5 * (metrics.densityDpi / 180f);
        pieDataSet.setSelectionShift(px);
        PieData pieData = new PieData(xValues, pieDataSet);
        return pieData;
    }
}

4、效果图

在这里插入图片描述

MPAndroidChat 表格文件,矩阵图,点阵图 立即下载

相关推荐

Meta-World环境实战解析:pick-place-v2中的状态观测与动作控制

本文深入解析了Meta-World中pick-place-v2环境的强化学习实战要点。文章详细拆解了39维状态观测向量的构成与意义,包括机械臂末端、物体位置及目标坐标,并揭示了默认部分可观测设置的潜在影响。同时,阐述了4维动作空间的控制逻辑与奖励函数的分阶段设计,为训练高效稳定的抓放策略提供了核心指导与实用调优技巧。

weixin_29184371的博客 78

Android MPAndroid chart图表案例

由于有关于Android mpAndroidchart使用文章网上较多,本文就不一一列举使用步骤,只涉及案例。

shi450561200的博客 3631

Nvidia Tesla A100 驱动安装方法

Nvidia Tesla A100 驱动安装方法 遇到的问题:以前安装tesla系列、geforce系列等gpu 驱动的时候,只需执行nvidiaxxxx.run驱动包或者安装nvidiaxxxx.rpm包即可,但遇到新的GPU Nvidia Tesla A100的时候,安装完驱动似乎不起作用,找了半天资料,原来需要以下步骤才可以使用;

qq_24343177的博客 2万+

MPAndroidChat的PieChart和BarChart学习

先把要写的写下来,有时间再详写 1、之前学MPAndroidChat主要看了这个人的博文http://blog.youkuaiyun.com/shineflowers/article/details/44809119,但是发现和github上的内容有出入,仔细研究了后发现github原来一直在更新,博主只是因为版本低所以不一样,所以我从github上导出工程后再导出jar包就是最新的了

xiaoshixiu的专栏 7533

MCSDK5.4.8电机库双电阻采样适配:从扇区判断到固定采样的重构实践

本文详细解析了MCSDK5.4.8电机库中双电阻采样技术的重构实践,从扇区判断到固定采样的关键步骤。通过硬件配置优化、核心文件重构及电流读取函数改造,实现高效稳定的电机控制,特别适用于成本敏感型项目。文章还提供了占空比限制计算、参数调整及常见问题排查等实用技巧,助力工程师快速掌握两电阻采样方法。

weixin_42532938的博客 282

EtherCAT-7 从站代码移植-SPI

STM32F103 + AX58100,从站代码移植。

tianya_xuan的博客 3571

MPAndroidChart使用

MPAndroidChart的基本使用 本文讲述对MPAndroidChart的基本使用 一、添加依赖 Usage​ 二、layout布局,我这里实现了三个图形,可以根据自己的需要,添加图形控件 三、实现代码 图形横纵坐标默认为float形式,如果想展示文字形式,需要自定义适配器。自定义适配器会在“四”中列出 四、自定义适配器类 XAxisValueFormatter: MyAxisValue...

chuyouyinghe的专栏 5197

手把手教你用Docker快速部署ZLMediaKit流媒体服务器(含WebRTC配置)

本文详细介绍了如何使用Docker快速部署ZLMediaKit流媒体服务器,并配置WebRTC功能。通过容器化部署,实现环境一致性、资源隔离和快速扩展,同时提供WebRTC专项配置、多协议推拉流实战测试及生产环境优化建议,帮助开发者高效搭建企业级流媒体平台。

agile9scrum的博客 203

leftaxis 安卓_大前端 Android 开发日记六:使用 MPAndroidChat 开发图表应用

[ 前一段时间手机项目中手机前台技术实现,突然想起如果手机需要图表怎么办,于是在网上搜一下,开源的图表如下: 使用aChartEngine的demo实现如下: 4个Android在完成了基本的业务功能之后,我开始去画相应的图表。这不是一件简单的事,尽管已经有了 MPAndroidChart 这样的图表工具。但是显然,它带来的问题,可能比解决的问题还多。这一天做的事情比较少,主要...

weixin_30575517的博客 212

实战案例—encrypt靶场(AES固定key篇)

AES是一种对称密钥加密方法,意味着加密和解密时使用相同的密钥。AES加密存在三种形式:AES-128、AES-192和AES-256,它们分别对应于三种不同的密钥长度——128位(即16字节)、192位(即24字节)和256位(即32字节)。通常情况下,密钥的长度越长,提供的安全性就越高,但相应地,加解密过程所需的时间也会增加。默认情况下,采用的是AES-128,其提供的安全性对于大多数应用来说已经足够充分。

zhouzhou_98的博客 498

【原创】汇川H5U PLC控制伺服的方法

6、在线调试-进入伺服调试,可以在本软件上进行调试,可以实现原点回归、正向点动、反向电动、使能(这里使能打开时触摸屏上的使能不能打开,会冲突)、复位、停止(如下图所示)。5、在原点返回设置中一般情况下对原点信号、正限位、负限位、原点返回方向、原点返回方式进行设置,其他设置默认不改(如下图所示)。3、在单位换算设置上只需要修改脉冲数和移动量(根据伺服配套导轨上名牌进行设置),其他设置默认不改(如下图所示)。11、双击后右边出现编辑框 在上半部分定义变量(IN、INOUT、OUT、VAR)(如下图所示)。

Qinmingyue13的博客 6675

leftaxis 安卓_使用 MPAndroidChat 开发图表应用

在完成了基本的业务功能之后,我开始去画相应的图表。这不是一件简单的事,尽管已经有了 MPAndroidChart 这样的图表工具。但是显然,它带来的问题,可能比解决的问题还多。这一天做的事情比较少,主要是在做(学习,边做边学)图表相关的内容。使用 Java 编写 Layout在这之前,我完全不知道,怎么用 Java 代码去写一个自定义的布局,即如下的示例:android:layout_width=...

weixin_39629989的博客 190

Android 13.0 设置默认屏幕亮度百分比

在13.0的系统ROM产品开发中,在一些产品开发中,对于设置默认屏幕亮度和屏幕亮度百分比的功能,在开发中也是常见的功能,在10.0的平台设置可能有一些不同,一般的都是在SettingProvider中设置就可以了 在11.0以后的系统中设置默认屏幕亮度的方法就不同了,接下来具体分析功能的实现

安卓兼职framework和app工程师的博客 1560

mpandroidchat实例 仿360你财富

效果如图 代码如下 MainActivity.java mLineChart = (LineChart) findViewById(R.id.lineChart); //动画 mLineChart.animateX(1000); //获得左下角图例 Legend legend = mLineChart.getLegend

瑺圊樹的专栏 1556

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

MPANDROIDCHAT 折线图 markview自定义

/** * 2020年9月25日 17:01:30 * Email:androidls@163.com * * @author Bill */ public class CustomChartMarkView extends MarkerView { private final int DEFAULT_INDICATOR_COLOR = UI.getColor(R.color.main_color);//指示器默认的颜色 private final int ARROW_HEIGHT = ...

qq_40334300的博客 653

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Android的图表世界–如何使用MPAndroidChart

Android的图表世界–如何使用MPAndroidChart 应用中常常需要展现一部分数据给用户,选择通过带有动画的统计图来替代简单的表格式布局往往会给用户带来不错的体验,这篇教程主要讲解如何使用一款非常受欢迎的第三方图形库MPAndroidChart:https://github.com/PhilJay/MPAndroidChart 感谢PhilJay 我们今天要实现的效果

CatTalk 1万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

MPAndroidCharts初体验——教你三分钟学会画折现图

简介:这是一个关于android图标的一个开源库,使用这个开源库可以快捷方便开发图表,而且这个开源库画出来的图表要好看的多,建议可以使用下。 首先是导入包,使用Eclipse开发工具,需要将jar包导入的项目的libs包下。

菜鸟的打怪升级之路 972

Android禁止view上下滑动,Android中Viewpager禁止滑动的实现

前言现在很多app,首页不允许滑动切换(因为页面加载吧),但是又用viewpage来管理frgament.因为方便嘛.以前在网上找的例子:public class NoScrollViewPager extends ViewPager {public NoScrollViewPager(Context context, AttributeSet attrs) {super(context, att...

weixin_42398629的博客 1114

Android开源图表库

1.MPAndroidChart 一个可以拖动缩放的图表库,包含曲线图、直方图、饼状图,其中直方图支持3d效果。 该库的可扩展性强,代码相对规范,最近一次更新有很大改进,如果不喜欢AChartEngine的过于复杂可以考虑在此库的基础上开发自己的图表类。 项目地址:https://github.com/PhilJay/MPAndroidChart2.hellochart

我的博客 585

android 判断按钮是否已经有onclicklinstener,通过点击事件监听setOnClickListener彻底理解回调...

前言老司机们对于回调肯定熟悉得不能再熟悉了,但是新司机可能还是一脸懵逼的,我比较笨,当年懵逼了好久,看夏安明的这一篇博客地址,虽然下边的留言都是,写得好!懂了懂了!但是我当时看了三遍还是不懂好吗 - -,现在我站在我的角度,用我理解的方式给大家讲解回调,我这么笨都理解了,聪明的新司机们肯定也是可以的setOnClickListener分析setOnCLickLinstener,只要写过Androi...

weixin_35761503的博客 236

MPAndroidChart使用setNoDataText设置无数据提醒无效问题

lineChart = (LineChart) view.findViewById(R.id.lineChart); lineChart.setNoDataText("暂时尚无数据");//没有数据时显示的文字,必须XML视图一进来就进行设置,否则设置无效 lineChart.setNoDataTextColor(Color.BLUE);//没有数据时显示文字的颜色 XML视图一引进就通过setNoDataText进行设置,否则会出现setNoDataText设置无效的问.

qq_55888300的博客 1243

MPAndroidChart - LineChart.zoom使用并踩坑

//数据源 //设置一页最大显示个数为6,超出部分就滑动 //显示的时候是按照多大的比率缩放显示,1f表示不放大缩小 float ratio = 1f; if (count >= 6){ ratio = (float) count/(float) 6; mChart.mov...

lilinkun202的专栏 2597

Android图表库MPAndroidChart(八)——饼状图的扩展:折线饼状图

源自  http://blog.youkuaiyun.com/qq_26787115/article/details/53258500 Android图表库MPAndroidChart(八)——饼状图的扩展:折线饼状图 我们接着上文,饼状图的扩展,增加折现的说明,来看下我们要实现的效果 因为之前对MPAndroidChart的熟悉,所有我们就可以直接来实现了

sinat_30474567的博客 651

Android出现Program type already present: com.xx.xx.xx错误解决

Program type already present: com.github.mikephil.charting.BuildConfig这个是我在打包的时候出现的问题,在编译的时候没有发生,然后检查了下相关的包,发现是包重复了,把重复的包删除掉一个就好了。 做一个记录。 ...

wxx314165038的博客 1225

MPAndroidChart实战:折线图与柱状图深度应用

MPAndroidChart实战:折线图与柱状图深度应用 【免费下载链接】MPAndroidChart A powerful ???? Android chart view / graph view library, supporting line- bar- pie- radar- bubble- and candlesti...

gitblog_01090的博客 884

MPAndroidChart记录

MPAndroidCharts记录地址初始化设置折线图需要注意的地方 地址 https://github.com/PhilJay/MPAndroidChart 初始化设置折线图 public static void initLineChart(LineChart mLineChar) { //设置手势滑动事件 // mLineChar.setOnChartGest...

qq_34367812的博客 242
上一篇: 获取笔记本的SHA1的值。
下一篇: Android传感器的使用
JSON_ZJS
博客等级 码龄9年 30粉丝 159原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值