HarmonyOS NEXT应用开发之MpChart图表实现案例

news/2024/7/21 10:18:37 标签: harmonyos, 华为, 鸿蒙开发, 移动开发, Android

介绍

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

效果图预览

使用说明

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

实现思路

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

高性能知识点

不涉及

工程结构&模块类型

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

模块依赖

@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


http://www.niftyadmin.cn/n/5418424.html

相关文章

用Django 写学习笔记程序第二章.1让用户能够输入数据

文章目录 1. 让用户能够输入数据添加新的主题用于添加主题的表单URL 模式new_topic编写视图函数 new_topic()GET请求和POST请求模板new_topic链接到页面 new_topic效果测试:- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -…

【深度学习笔记】6_9 深度循环神经网络deep-rnn

注:本文为《动手学深度学习》开源内容,部分标注了个人理解,仅为个人学习记录,无抄袭搬运意图 6.9 深度循环神经网络 本章到目前为止介绍的循环神经网络只有一个单向的隐藏层,在深度学习应用里,我们通常会用…

2023年第三届中国高校大数据挑战赛(第二场)D题思路

赛题D:行业职业技术培训能力评价 中国是制造业大国,产业门类齐全,每年需要培养大量的技能娴熟的技术工人进入工厂。某行业在全国有多所不同类型(如国家级、省级等)的职业技术培训学校,进行 5 种技能培训。…

金融数据采集与风险管理:Open-Spider工具的应用与实践

一、项目介绍 在当今快速发展的金融行业中,新的金融产品和服务层出不穷,为银行业务带来了巨大的机遇和挑战。为了帮助银行员工更好地应对这些挑战,我们曾成功实施了一个创新的项目,该项目采用了先进的爬虫技术,通过ope…

C++面试题和笔试题(三)

目录 一、在C中,局部变量、静态局部变量、全局 变量、静态全局变量各自的作用域和生命周期是怎样的? 二、描述const 关键字在指针和引用上的使用方式及意义,如const int *p与int const *p有何区别,又如何int*const p和const int*…

上位机图像处理和嵌入式模块部署(qmacvisual二维码识别)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 如果说条形码在商品上使用比较多的话,那么二维码识别是一个更加使用频繁的场合。为什么使用这样频繁,我想很多一部分原因来…

RabbitMQ发布确认高级版

1.前言 在生产环境中由于一些不明原因,导致 RabbitMQ 重启,在 RabbitMQ 重启期间生产者消息投递失败, 导致消息丢失,需要手动处理和恢复。于是,我们开始思考,如何才能进行 RabbitMQ 的消息可靠投递呢&…

STM32---通用定时器(一)理论基础

写在前面:在STM32F103中有众多的定时器,其中包括两个基本定时器,基本定时器的内容已经在上节进行了介绍,基本定时器的功能、结构、使用都较为简单。而STM32F1中还含有4个通用定时器(TIM2\3\4\5),这些定时器…