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

目录使用MPAndroidChart实现K线图(1)——基本用法使用MPAndroidChart实现K线图(2)——自定义XY轴使用MPAndroidChart实现K线图(3)——自定义柱状图使用MPAndroidChart实现K线图(4)——图表联动、加载更多使用MPAndroidChart实现K线图(5)——高亮联动、横竖屏切换最近的项目用到了K线图,研究了几天MPAn...
摘要由CSDN通过智能技术生成

目录

使用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.setDragDecel
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
使用 MPAndroidChart 绘制横向圆角柱状图的步骤如下: 1. 在你的项目中添加 MPAndroidChart 的依赖。 2. 在 XML 布局文件中添加一个 BarChart 控件。 3. 在代码中获取 BarChart 控件的实例,并进行一些基础设置,如设置 X 轴和 Y 轴的属性。 4. 创建一个 BarDataSet 对象,并设置数据。 5. 创建一个 BarData 对象,并将 BarDataSet 对象添加到 BarData 对象中。 6. 设置 BarData 对象到 BarChart 控件中,并进行一些样式设置,如设置柱状图的颜色、边框宽度等。 7. 最后调用 BarChart 控件的 invalidate() 方法刷新界面即可。 下面是一个示例代码,可以绘制横向圆角柱状图: ```java // 获取 BarChart 控件实例 BarChart barChart = findViewById(R.id.bar_chart); // 设置 X 轴和 Y 轴属性 barChart.getXAxis().setPosition(XAxis.XAxisPosition.BOTTOM); barChart.getXAxis().setDrawGridLines(false); barChart.getAxisLeft().setDrawGridLines(false); barChart.getAxisRight().setDrawGridLines(false); // 创建 BarDataSet 对象并设置数据 List<BarEntry> entries = new ArrayList<>(); entries.add(new BarEntry(0f, 5f)); entries.add(new BarEntry(1f, 6f)); entries.add(new BarEntry(2f, 7f)); entries.add(new BarEntry(3f, 8f)); entries.add(new BarEntry(4f, 9f)); BarDataSet dataSet = new BarDataSet(entries, "数据"); // 创建 BarData 对象并将 BarDataSet 添加到其中 BarData data = new BarData(dataSet); // 设置 BarData 到 BarChart 控件中 barChart.setData(data); // 设置柱状图的颜色、边框宽度等 dataSet.setColors(Color.parseColor("#3F51B5")); dataSet.setDrawValues(false); dataSet.setBarBorderWidth(1f); dataSet.setBarBorderColor(Color.parseColor("#3F51B5")); dataSet.setBarBorderRadius(20f); // 刷新界面 barChart.invalidate(); ``` 在上面的示例代码中,我们设置了一个数据集合,包含了 5 个柱状图的数据(横坐标分别是 0 到 4),并设置了柱状图的样式,最后调用 invalidate() 方法刷新界面即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值