码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • HarmonyOS NEXT应用开发之MpChart图表实现案例


    介绍

    MpChart是一个包含各种类型图表的图表库,主要用于业务数据汇总,例如销售数据走势图,股价走势图等场景中使用,方便开发者快速实现图表UI。本示例主要介绍如何使用三方库MpChart实现柱状图UI效果。如堆叠数据类型显示,Y轴是否显示,左Y轴位置,右Y轴位置,是否显示X轴,是否绘制背景色,是否设置MarkerView等。

    效果图预览

    使用说明

    1. 点击页面上控制项即可查看效果。需要注意的是选项”是否设置MarkerView“勾选后,点击柱状图中柱子会有弹窗效果。

    实现思路

    1. 通过this.model = new BarChartModel()初始化图表配置构建类。源码参考BarChart.ets。
    // 图表数据初始化
    aboutToAppear() {
        // 初始化图表配置构建类
        this.model = new BarChartModel();
        ...
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    1. 配置图表指定样式,为图表添加数据选择的监听器。源码参考BarChart.ets。
    // 图表数据初始化
    aboutToAppear() {
        // 为图表添加数据选择的监听器。
        this.model.setOnChartValueSelectedListener(this.valueSelectedListener);
        ...
        // 配置图表指定样式:如启用绘制网格背景。
        this.model.setDrawGridBackground(false);
        ...
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    1. 通过this.model.setData(this.data)将数据与图表配置类绑定。源码参考BarChart.ets。
    // 图表数据初始化
    aboutToAppear() {
        ...
        // 生成单一颜色数据
        this.data = this.getNormalData();
        // 将数据与图表配置类绑定
        this.model.setData(this.data);
        ...
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    1. 通过BarChart({ model: this.model })为组件设置配置构建类。源码参考BarChart.ets。
    build() {
        Column() {
        ...
        // 为组件设置配置构建类。
        BarChart({ model: this.model })
        ...
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    高性能知识点

    不涉及

    工程结构&模块类型

    barchart                                        // har类型
    |---src\main\ets\view
    |   |---BarChart.ets                            // 视图层-MpChart柱状图页面
    
    • 1
    • 2
    • 3

    模块依赖

    @ohos/routermodule(动态路由)

    参考资料

    MpChart三方库

    为了能让大家更好的学习鸿蒙(HarmonyOS NEXT)开发技术,这边特意整理了《鸿蒙开发学习手册》(共计890页),希望对大家有所帮助:https://qr21.cn/FV7h05

    《鸿蒙开发学习手册》:https://qr21.cn/FV7h05

    入门必看:https://qr21.cn/FV7h05

    1. 应用开发导读(ArkTS)
    2. ……

    HarmonyOS 概念:https://qr21.cn/FV7h05

    1. 系统定义
    2. 技术架构
    3. 技术特性
    4. 系统安全

    如何快速入门:https://qr21.cn/FV7h05

    1. 基本概念
    2. 构建第一个ArkTS应用
    3. ……

    开发基础知识:https://qr21.cn/FV7h05

    1. 应用基础知识
    2. 配置文件
    3. 应用数据管理
    4. 应用安全管理
    5. 应用隐私保护
    6. 三方应用调用管控机制
    7. 资源分类与访问
    8. 学习ArkTS语言
    9. ……

    基于ArkTS 开发:https://qr21.cn/FV7h05

    1. Ability开发
    2. UI开发
    3. 公共事件与通知
    4. 窗口管理
    5. 媒体
    6. 安全
    7. 网络与链接
    8. 电话服务
    9. 数据管理
    10. 后台任务(Background Task)管理
    11. 设备管理
    12. 设备使用信息统计
    13. DFX
    14. 国际化开发
    15. 折叠屏系列
    16. ……

    鸿蒙开发面试真题(含参考答案):https://qr21.cn/FV7h05

  • 相关阅读:
    内网-win1
    Altium Designer快速入门及项目实战教程之层次原理图PCB设计(七)
    基于SSM的高校餐厅防疫管理系统
    12.神经网络模型
    Springboot之Actuator信息泄露漏洞利用
    webpack的安装
    个人怎么给短视频配音?三个简单的小技巧,配音原来并不难
    2024年深圳杯&东三省数学建模联赛A题论文首发第二种思路
    ADAU1860调试心得(14)单片机启动与控制ADAU1860详解
    代码随想录算法训练营第67天:图论5[1]
  • 原文地址:https://blog.csdn.net/maniuT/article/details/136590319
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号