赞
踩
MpChart是一个包含各种类型图表的图表库,主要用于业务数据汇总,例如销售数据走势图,股价走势图等场景中使用,方便开发者快速实现图表UI,MpChart主要包括线形图、柱状图、饼状图、蜡烛图、气泡图、雷达图、瀑布图等自定义图表库。 本示例介绍了MpChart图表组件的使用方法。 该组件多用于可视化等场景。
使用说明:
- // 初始化图表配置构建类
- this.model = new BarChartModel();
- // 设置图表数据最大的绘制数,如果超过该数值,则不进行绘制图表的数值标签
- this.model.setMaxVisibleValueCount(VISIBLE_VALUE_COUNT);
- // 是否绘制图表的背景色,绘制范围为图表柱状图的绘制范围,不包含轴线之外的部分
- this.model.setDrawGridBackground(true);
- // 设置图表的背景色,颜色的规格需要满足CanvasRenderingContext2D.fillstyle/strokestyle规格
- this.model.setGridBackgroundColor(GRID_BG_COLOR);
- // 设置不绘制柱状图的柱体阴影背景
- this.model.setDrawBarShadow(false);
- // 设置柱状图的数值在柱体上方
- this.model.setDrawValueAboveBar(true);
- // 设置柱状图的高亮范围是否为整个柱体,只在堆叠柱状图中有区别
- this.model.setHighlightFullBarEnabled(true);
- // 为左Y轴设置LimitLine,可设置限制线的宽度,线段样式,限制标签的位置,标签字体大小等
- this.limitLine = new LimitLine(STEP_TARGET_NUMBER, STEP_TARGET);
- // 设置限制线的宽度
- this.limitLine.setLineWidth(LINE_WIDTH);
- // 设置限制线虚线类型的长度
- this.limitLine.enableDashedLine(DASHED_LINE_LENGTH, DASHED_SPACE_LENGTH, ZERO);
- // 设置限制线的颜色
- this.limitLine.setLineColor(Color.Gray);
- // 设置限制线的位置
- this.limitLine.setLabelPosition(LimitLabelPosition.RIGHT_TOP);
- // 设置限制线上文本的大小
- this.limitLine.setTextSize(vp2px(TEXT_SIZE));
- // 设置图表左Y轴信息
- this.leftAxis = this.model.getAxisLeft();
- if (this.leftAxis) {
- // 设置图表左Y轴最小值
- this.leftAxis.setAxisMinimum(ZERO);
- // 设置图表左Y轴是否在数据后绘制限制线
- this.leftAxis.setDrawLimitLinesBehindData(false);
- // 设置图表左Y轴数据的格式转换器
- this.leftAxis.setValueFormatter(new YValueFormatter());
- // 添加LimitLines
- this.leftAxis.addLimitLine(this.limitLine);
- }
- // 设置图表右Y轴信息
- this.rightAxis = this.model.getAxisRight();
- if (this.rightAxis) {
- // 设置图表右Y轴是否显示
- this.rightAxis.setEnabled(false);
- // 设置图表右Y轴最小值
- this.rightAxis.setAxisMinimum(ZERO);
- }
- // 设置X轴信息
- this.xAxis = this.model.getXAxis();
- if (this.xAxis) {
- // 设置X轴是否绘制网格线
- this.xAxis.setDrawGridLines(false);
- // 设置绘制标签个数
- this.xAxis.setLabelCount(LABEL_COUNT, false);
- //设置标签位置
- this.xAxis.setPosition(XAxisPosition.BOTTOM);
- // 设置数据的格式转换器
- this.xAxis.setValueFormatter(new XValueFormatter());
- }
- // 生成数据
- this.data = this.getNormalData();
- // TODO 知识点:将数据与图表配置类绑定
- this.model.setData(this.data);
- // 初始化图表配置构建类
- this.model = new LineChartModel();
- this.model.setPinchZoom(false);
- this.model.setDrawGridBackground(false);
- // 设置X轴信息
- this.xAxis = this.model.getXAxis();
- if (this.xAxis) {
- //设置标签位置
- this.xAxis.setPosition(XAxisPosition.BOTTOM);
- // 设置X轴是否绘制网格线
- this.xAxis.setDrawGridLines(true);
- this.xAxis.setGranularity(1);
- // 设置数据的格式转换器
- this.xAxis.setValueFormatter(new XValueFormatter());
- // 设置绘制标签个数
- this.xAxis.setLabelCount(10);
- this.xAxis.enableGridDashedLine(2, 2, 0);
- }
- // 设置图表左Y轴信息
- this.leftAxis = this.model.getAxisLeft();
- if (this.leftAxis) {
- this.leftAxis.setLabelCount(4, true);
- this.leftAxis.setDrawGridLines(true);
- // 设置图表左Y轴是否在数据后绘制限制线
- this.leftAxis.setDrawGridLinesBehindData(true);
- this.leftAxis.setPosition(YAxisLabelPosition.OUTSIDE_CHART);
- this.leftAxis.setAxisMinimum(0);
- // 设置图表左Y轴数据的格式转换器
- this.leftAxis.setValueFormatter(new YValueFormatter());
- this.leftAxis.setEnabled(true);
- this.leftAxis.enableGridDashedLine(2, 2, 0);
- }
- // 设置图表右Y轴信息
- this.rightAxis = this.model.getAxisRight();
- if (this.rightAxis) {
- // 设置图表右Y轴是否显示
- this.rightAxis.setEnabled(false);
- }
- // 获取图表图例部件,设置图表图例部件不可用
- let legend: Legend | null = this.model.getLegend();
- if (legend) {
- legend.setEnabled(true);
- // 设置图例类型
- legend.setForm(LegendForm.LINE);
- // 设置图例文本大小
- legend.setTextSize(vp2px(14));
- // 设置图例方向为水平
- legend.setOrientation(LegendOrientation.HORIZONTAL);
- // 设置图例垂直对齐方式为顶部
- legend.setVerticalAlignment(LegendVerticalAlignment.TOP);
- // 设置图例水平对齐方式为左对齐
- legend.setHorizontalAlignment(LegendHorizontalAlignment.LEFT);
- }
- // 生成数据
- this.lineData = this.getLineData();
- // TODO 知识点:将数据与图表配置类绑定
- this.model.setData(this.lineData);
不涉及
- health // 运动健康场景实践案例
- |---model
- | |---BasicDataSource.ets // 数据类型文件
- |---view
- | |---BarCharts.ets // 柱状图组件
- | |---MpCharts.ets // 图表列表页面
- | |---LineCharts.ets // 曲线图组件
有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)资料用来跟着学习是非常有必要的。
这份鸿蒙(HarmonyOS NEXT)资料包含了鸿蒙开发必掌握的核心知识要点,内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(HarmonyOS NEXT)技术知识点。
希望这一份鸿蒙学习资料能够给大家带来帮助,有需要的小伙伴自行领取,限时开源,先到先得~无套路领取!!
如果你是一名有经验的资深Android移动开发、Java开发、前端开发、对鸿蒙感兴趣以及转行人员,可以直接领取这份资料
获取这份完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料
HarmonOS基础技能
有了路线图,怎么能没有学习资料呢,小编也准备了一份联合鸿蒙官方发布笔记整理收纳的一套系统性的鸿蒙(OpenHarmony )学习手册(共计1236页)与鸿蒙(OpenHarmony )开发入门教学视频,内容包含:ArkTS、ArkUI、Web开发、应用模型、资源分类…等知识点。
获取以上完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料
OpenHarmony北向、南向开发环境搭建
获取以上完整鸿蒙HarmonyOS学习资料,请点击→纯血版全套鸿蒙HarmonyOS学习资料
总的来说,华为鸿蒙不再兼容安卓,对中年程序员来说是一个挑战,也是一个机会。只有积极应对变化,不断学习和提升自己,他们才能在这个变革的时代中立于不败之地。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。