使用MPAndroidChart实现K线图(1)——基本用法

本文介绍了如何使用MPAndroidChart库在Android应用中实现K线图,包括基本用法、初始化图表、配置数据以及遇到的问题和优化方向。教程中提到了K线成交量联动、滑动加载更多、长按高亮、横竖屏切换等功能,并提供了完整的Demo链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

使用MPAndroidChart实现K线图(1)——基本用法

使用MPAndroidChart实现K线图(2)——自定义XY轴

使用MPAndroidChart实现K线图(3)——自定义柱状图

使用MPAndroidChart实现K线图(4)——图表联动、加载更多

使用MPAndroidChart实现K线图(5)——高亮联动、横竖屏切换


最近的项目用到了K线图,研究了几天MPAndroidChart,终于实现了预定的效果。在这里把详细的过程和感悟分享给大家。

最终效果主要参考DragonEx的K线图(GIF不会做,这里放静态图了):

理想效果图

主要包含功能:K线成交量联动、滑到边缘加载更多、长按高亮、横竖屏切换等。

 

上图的图表分为两部分:上部分是包含蜡烛图、折线图的组合图(CombinedChart),下部分是成交量的柱状图(BarChart)。先使用MPAndroidChart画出这两个图。

引入MPAndroidChart:(https://github.com/PhilJay/MPAndroidChart)

修改项目级build.gradle

allprojects {
    repositories {
        jcenter()
        maven { url "https://jitpack.io" }
        maven { url "https://maven.google.com" }
    }
}

 app级build.gradle中的dependencies添加:

compile 'com.github.PhilJay:MPAndroidChart:v3.0.3'

核心代码

初始化图表

    private CombinedChart cc;
    private BarChart bc;

    private Map<Integer, String> xValues;
    private LineDataSet lineSet5;
    private LineDataSet lineSet10;
    private CandleDataSet candleSet;
    private CombinedData combinedData;
    private BarDataSet barSet;

    private DecimalFormat format4p = new DecimalFormat("0.0000");//格式化数字,保留小数点后4位

    private void initChart() {
        int black = getColorById(R.color.black3B);
        int gray = getColorById(R.color.gray8B);
        int red = getColorById(R.color.redEB);
        int green = getColorById(R.color.green4C);
        int highlightColor = getColorById(R.color.brown);
        float highlightWidth = 0.5F;//高亮线的线宽
        //K线
        cc.setNoDataTextColor(gray);//无数据时提示文字的颜色
        cc.setDescription(null);//取消描述
        cc.getLegend().setEnabled(false);//取消图例
        cc.setDragDecelerationEnabled(false);//不允许甩动惯性滑动  和moveView方法有冲突 设置为fals
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值