开源啦!!!基于鸿蒙ArkTS封装的图表组件《McCharts》,大家快来一起共创

陈杨_ 陈杨_ 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

Hello;大家好,我是陈杨。好久没更新了,首先是自己本职工作比较忙,基本没时间写作。其次就是学习技术,自学鸿蒙ArkTS语言已经接近半年了,也算半路出师了,这次将分享我封装的组件库,所以有啥讲错的地方请大家高抬贵手,宽容一下,谢谢。

这次主要是给大家带来一个重磅消息,就是我自己使用鸿蒙ArkTS语法开发的图表组件今日正式开源了。为什么?原因有两点吧!

  • 鸿蒙是国产的操作系统,不管他是不是真的遥遥领先。作为一位开发者,只是想奉献一点自己的微薄之力,去帮助鸿蒙扩大开发社区生态
  • 做开发这么久,大概八年了,还没自己开创一个开源的组件库,就是想试试自己到底行不行。

出于这两点,我决定做开源。这半年我也用鸿蒙ArkTS语法尝试开发了一些APP,虽然还没上架哈,不过基本的开发流程以及交互都熟悉了,而且马上第一款APP也会跟着上线了。在我尝试的开发过程中,发现ArkTs实现图表的案例很少,几乎可说没有,有也是不贴合业务的,不像echarts一样灵活。索性就自己封装了,开发就是这样,有时候宁愿多花一点功夫也不愿意使用第三方组件(大家别学我哈,还是要用我封装好的哈)。

我也会把封装好的图表组件分享到鸿蒙的社区或者鸿蒙开发群里面,其中有一位开发者问我可以开源出来不,大家一起玩玩,我心想也不是不可以哦,大家一起开发,这样可能会更快,适配性更强。就这样顺理成章得开源了;给大家讲一下目前组件的现状。以后也会分享相关的ArkTS技术

组件的完成进度

已经基本完成的组件有:折线图、柱状图、饼图、散点图。这几个是已经可以直接使用,如果遇到问题可以在GitHub上提issues,也可以在群里问。

正在开发的有:雷达图、柱状+折线图。这两个是正在开发中的,想用或者想开发的可以等版本正式上了再考虑。

每个组件的迭代上线都会先把所有属性都测试一遍,保证没有问题才可以发布。不过开发没有bug是不可能的,所以有问题请及时反馈

开源代码管理

管理开源代码我们选择了GitHub,比较主流,后续也会放开其他的。而开发完的组件我们使用的是OpenHarmony三方库中心仓来管理,鸿蒙目前也只支持这个中心仓下载依赖。以下是对应的地址

源码GitHub:https://github.com/Yuan-Mr/mcCharts

组件库ohpm:https://ohpm.openharmony.cn/#/cn/detail/@mcui%2Fmccharts

大家可以积极参与共创,感谢大家!如果觉得不错,还请点点小星星,感谢感谢。

组件文档

组件库的相关插件必然是给开发使用的,那就必须有使用文档,不然开发者不知道有哪些属性。所以我也给大家准备了官方文档。我大概介绍一下,是我自己使用react实现的。

地址链接:http://meichuang.org.cn/

1、首页:主要是介绍组件库的框架结构以及能够做什么等等。

2、文档页面:主要是详细介绍组件的安装方式、每个组件中的属性以及方法,是开发者使用最广的一个页面

 

目前就这两个页面,其他都是快速跳转到GitHub跟ohpm的

总结

组件目前的现状就到此讲解结束了,但是我们的故事还没结束。欢迎加入我们的共创,集思广益。也希望大家可以多点点小星星支持一下,后续有更新我也会同步给大家。这是我第一个开源的项目,做的不好的地方也希望多多指点,我是比较愿意多学习的,也希望大家多学习。大家想交流的可以通过GitHub上的群二维码加群,也可以私信我,我看到都会回复。

...全文

相关推荐

HarmonyOS6数据可视化[代码]

本文详细介绍了在HarmonyOS6开发中使用McCharts第三方库实现折线图、饼状图和柱状图等数据可视化的方法。文章首先介绍了McCharts的基本信息和安装步骤,随后通过具体代码示例展示了如何创建和美化各类图表,包括折线图、饼状图和柱状图的不同变种(如单折线图、双柱状图、层叠柱状图等)。此外,还提供了动态修改图表数据的方法,帮助开发者在实际项目中灵活应用。文章内容详实,适合HarmonyOS开发者参考学习。

网恋被骗八块八

【OpenHarmony实战开发】第29课-分布式软总线组件

大家好,我是无言,有一段时间没有更新了。主要是这段时间在参与鸿蒙开源项目McCharts,它是一个基于 ArkTS 语法封装的图表组件,使用方式高度类似Echarts,而且可以运行在ArkTS 3+版本以上的任意版本当中,性能反馈非常不错,大家对鸿蒙开发感兴趣的可以去尝试一下。本来在写这篇文章之前,我还想在鸿蒙中适配一些游戏引擎,例如pixiJsThreeJs,奈何现在鸿蒙Canvas不支持WebGL,做了一些尝试,发现确实改动的地方太多了,就只有暂时搁置。

青少年编程作品集

基于MPC+二自由度动力学的车辆轨迹跟踪+横向控制Carsim和Simulink联合仿真(Matlab代码、Simulink仿真实现)

内容概要:本文系统阐述了基于模型预测控制(MPC)与二自由度车辆动力学模型的轨迹跟踪与横向控制方法,通过Carsim与Simulink联合仿真平台实现了Matlab代码与Simulink模型的协同验证。该方法结合MPC算法的滚动时域优化特性与车辆二自由度动力学模型的运动学精度,构建了高精度的路径跟踪控制系统,能够有效提升自动驾驶车辆在复杂工况下的行驶稳定性与轨迹跟随精度。文中详细介绍了控制策略设计、车辆动力学建模、仿真参数配置、联合仿真接口搭建及结果分析全过程,涵盖了状态预测、代价函数构建、约束处理与优化求解等核心环节,适用于智能驾驶中路径规划与跟踪控制系统的研发与验证。; 适合人群:具备车辆动力学、现代控制理论(如最优控制、预测控制)基础知识,熟练掌握Matlab/Simulink与Carsim仿真工具,从事自动驾驶、智能车辆控制算法开发的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于智能网联汽车与无人驾驶系统中横向控制算法的设计与性能验证;②作为MPC在车辆运动控制中应用的教学案例,辅助高校课程实践与科研训练;③支撑高水平学术论文复现、课题申报与工程原型开发。; 阅读建议:建议读者在Carsim与Simulink联合仿真环境下动手复现,重点掌握MPC控制器中预测模型的建立、权重系数调节、约束设定及实时性优化等关键技术,并尝试在不同道路曲率、车速及路面附着条件下进行鲁棒性测试,进一步拓展至非线性MPC或自适应MPC等先进控制策略的研究。

荔枝科研社

基于线性时变模型预测控制的车辆轨迹跟踪系统研究(Matlab代码、Simulink仿真实现)

内容概要:本文系统研究了基于线性时变模型预测控制(LTV-MPC)的车辆轨迹跟踪系统,利用Matlab与Simulink工具搭建完整的控制系统仿真模型。研究首先建立车辆动力学模型,并通过局部线性化方法将非线性系统转化为时变状态空间模型,进而构建包含状态预测、滚动优化与反馈校正的MPC控制框架。文中详细阐述了目标函数设计、约束条件处理(如输入饱和、状态边界)、预测时域与控制时域设定等关键技术环节,重点分析LTV-MPC在不同行驶工况下对参考轨迹的跟踪精度、稳定性和实时性表现。通过与传统线性MPC的对比仿真,验证了LTV-MPC在应对系统非线性、提升轨迹跟踪性能方面的显著优势,充分展现了其在自动驾驶路径跟踪中的工程应用价值。; 适合人群:具备自动控制理论、车辆动力学及优化算法基础,熟练掌握Matlab/Simulink编程环境,从事智能驾驶决策控制、路径规划、先进驾驶辅助系统(ADAS)研发的科研人员、工程技术人员及研究生。; 使用场景及目标:①掌握车辆轨迹跟踪中MPC控制器的设计与实现方法;②学习如何将非线性车辆模型在线线性化并集成到预测控制框架中;③深入理解LTV-MPC相较于固定参数MPC的性能优势与适用边界;④通过仿真调试优化权重矩阵、预测时域等关键参数,提升实际控制效果;⑤为自动驾驶系统的控制模块开发、学术论文撰写或毕业课题提供可复现的技术方案与仿真平台。; 阅读建议:建议读者结合所提供的Matlab代码与Simulink模型,逐步运行并剖析各功能模块,重点关注车辆模型线性化过程、状态预测模块构建、QP求解器配置及约束处理机制,通过调整工况和控制参数进行对比实验,深入掌握LTV-MPC的调控机理与性能优化方法。

程序猿鑫

基于扩展卡尔曼滤波(EKF)的激光雷达与雷达异构传感器融合算法研究(Matlab代码实现)

内容概要:本文系统性解读了一套完整的多机器人路径规划(MAPF)MATLAB代码库,聚焦于优先级规划算法的工程实现,提出将求解过程划分为几何解析、拓扑建模、调度优化与可视化呈现四个解耦层次的模块化框架。文章深入阐述了动态边权膨胀、节点预留历史、几何惩罚驱动的局部同步机制、Petri网双阶段优化以及双坐标系统可视化等核心技术设计,实现了空间路径规划与时间冲突消解的有效分离,在保障多项式时间复杂度的前提下显著提升了路径规划的成功率与计算效率。该框架不仅具备良好的可复现性和工程扩展性,还为MAPF领域的算法研究、性能评估与教学实践提供了系统化的参考范例。; 适合人群:具备一定MATLAB编程基础,从事机器人路径规划、智能交通、自动化控制、多智能体系统等相关领域的科研人员、工程技术人员及研究生。; 使用场景及目标:① 深入理解并复现多智能体路径规划中优先级规划与冲突消解的核心机制;② 学习如何将复杂的MAPF问题分解为几何、拓扑、调度与呈现的模块化工程实现方法;③ 借鉴动态边权惩罚、Petri网建模、局部同步优化等创新设计思路,以提升自身路径规划算法的鲁棒性与效率。; 阅读建议:建议读者结合文中提供的MATLAB代码与MovingAI标准地图数据集,严格按照章节顺序逐步实现各模块功能,并通过内置的动画演示工具直观观察算法执行过程,重点关注各模块间的接口设计、关键参数(如惩罚权重、同步阈值)的调优策略及其对整体性能的影响。

稷下科研社
评论
收藏 已收藏
分享
返回顶部