鸿蒙5莓创图表的公共属性讲解

各位开发者您们好,今天终于有时间跟大家分享一下我们自研的图表组件。我是莓创技术的架构师陈杨。本次课程由我给大家系统性得讲解整个图表组件的知识点,想学习的可以持续关注我的教学视频。莓创图表组件是一款深度适配鸿蒙5.0(ArkTS框架)的高效可视化工具。我们组件以“低门槛、高性能”为设计核心,开发体验对标Echarts。

不知道大家有没有使用过Echarts,但是对于很多新人来说,肯定是不知道,更别说图表组件中的属性了。这次就跟随我深入解读图表组件中的每一个属性的作用及效果,并通过实际案例帮助大家理解如何在项目中高效使用图表组件。

无论您是技术新人还是资深大佬,希望您能通过本次课程提升50%以上的图表开发效率,共同推动鸿蒙生态建设!

莓创图表有独立的官方文档提供给大家,让大家使用起来更加方便,请大家记住:http://meichuangit.net.cn/McLineChart。后续我们也会讲解整个文档的结构以及如何使用

McCharts组件基础使用

上一次在工具介绍的课程中,我们介绍了如何使用DevEco Studio的安装莓创图表组件。这节我们主要来讲莓创图表整体有哪些属性,这些属性是干嘛的,具体渲染出来是什么样子的,大家该如何利用。

1. 图表大小

由于组件没有内置设置图表大小以及背景相关的通用属性,所以一般需要有东西包裹着,因为内部都是百分百宽度与高度

示例代码:

import { McBarChart, Options } from '@mcui/mccharts'

@Entry
@Component
struct Index {
  @State defOption: Options = new Options({
    xAxis: {
      data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
    },
    series: [{
      name: '最高气温',
      data: [11, 11, 15, 13, 12, 130, 10]
    }]
  })

  build() {
    Row() {
      McBarChart({
        options: this.defOption
      })
    }
    .width(300)
    .height(500)
  }
}

2. grid属性

语义:直角坐标系内绘图网格,通俗来讲就是图表的外壳

作用:可以通过该属性来设置内边距,包含:left、top、right、bottom,四个方向

使用场景:

a.  y轴的内容太长,会被裁掉,可以使用grid-left属性来设置左边的内边距,把y轴内容顶出来

b.  x轴的内容换行太长,一样的道理,可以使用grid-bottom属性来控制

c.  去除默认值,让图表内容更加接近外框

示例代码:

import { McBarChart, Options } from '@mcui/mccharts'

@Entry
@Component
struct Index {
  @State defOption: Options = new Options({
    xAxis: {
      data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
    },
    series: [{
      name: '最高气温',
      data: [11, 11, 15, 13, 12, 130, 10]
    }]
  })

  build() {
    Row() {
      McBarChart({
        options: this.defOption
      })
    }
    .width(300)
    .height(500)
  }
}

3. color属性

语义:颜色

作用:设置折线图、柱状图或者饼图具体实例的颜色

使用场景:无处不在

示例代码:

import { McBarChart, Options } from '@mcui/mccharts'

@Entry
@Component
struct Index {
  @State defOption: Options = new Options({
    xAxis: {
      data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
    },
    color: ['#5495fd'],
    series: [{
      name: '最高气温',
      data: [11, 11, 15, 13, 12, 130, 10]
    }]
  })

  build() {
    Row() {
      McBarChart({
        options: this.defOption
      })
    }
    .height('50%')
  }
}

4. title属性

语义:图表的标题

作用:自定义标题内容,动态设置展示位置与图表内容为一体

使用场景:

a.  图表自定义标题展示

b.  环形图的内部标题与副标题

示例代码:

import { McBarChart, Options } from '@mcui/mccharts'

@Entry
@Component
struct Index {
  @State defOption: Options = new Options({
    title: {
      show: true,
      text: '基础属性',
      right: 20,
      top: 30
    },
    xAxis: {
      data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
    },
    yAxis: {
      name: '温度'
    },
    series: [{
      name: '最高气温',
      data: [11, 11, 15, 13, 12, 130, 10]
    }]
  })

  build() {
    Row() {
      McBarChart({
        options: this.defOption
      })
    }
    .height('50%')
  }
}

示例:如图所示

5. legend

语义:图例

作用:用来代表图表中每一个实例以及展示对应的名称,可用于控制对应实例的显示与隐藏

使用场景:

a.  展示对应的实例的名称,快速让用户知道对应颜色对应的名称

b.  控制内容显示与隐藏

示例代码:

import { McPieChart, Options } from '@mcui/mccharts'

@Entry
@Component
struct Index {
  @State legendOption: Options = new Options({
    legend: {
      show: true,     // 控制显示或者隐藏
      left: '10%',    // 左侧位置
      top: '40%',     // 顶部位置
      orient: 'vertical' // 垂直排列
    },
    series: [{
      center: ['70%', '50%'],  // 饼图中心位置
      data: [
        { value: 435, name: 'IOS' },
        { value: 310, name: '安卓' },
        { value: 234, name: '我心澎湃' },
        { value: 135, name: '蓝河' },
        { value: 1548, name: '鸿蒙' }
      ]
    }]
  })

  build() {
    Row() {
      McPieChart({
        options: this.legendOption
      })
    }
    .height('50%')
  }
}

6. tooltip属性

语义:提示层弹窗

作用:显示点击对应的实例信息

使用场景:

a.  显示对应线条的值或者占比,让数据更加直观

b.  自定义提示层的样式

c.  显示隐藏性的数值,丰富图表的数据展示

示例代码:

import { McBarChart, Options, chartInterface } from '@mcui/mccharts'

@Entry
@Component
struct Index {
  @State tooltipOption: Options = new Options({
    xAxis: {
      data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'] // 数据
    },
    tooltip: {
      borderColor: '#f72659f5',
      borderWidth: 1,
      backgroundColor: '#fff',
      textStyle: {         // 文本样式配置
        color: '#000'
      }
    },
    series: [{
      name: '最高气温',
      data: [11, 11, 15, 13, 12, 130, 10]
    }]
  })

  build() {
    Row() {
      McBarChart({
        options: this.tooltipOption
      })
    }
    .height('50%')
  }
}

本文总结

今天我们一起探索了莓创图表组件的核心基础属性,包括图表尺寸控制、grid布局调整、color颜色配置、title标题定制、legend图例交互,以及tooltip提示层优化。通过代码示例,相信大家已经掌握了如何快速上手这些属性,为鸿蒙应用的图表开发打下基础!

posted @ 2025-06-25 16:36  woo爷说前端  阅读(17)  评论(0)    收藏  举报