更新记录
1.3.4(2026-08-26)
- 示例工程中增加网页文档说明。
1.3.3(2026-08-25)
- 修改文档说明。
1.3.2(2026-08-25)
- 修复已知问题;
- 文档增加加密插件在 H5 / 小程序 / Android / iOS / 鸿蒙各端的使用与编译说明。
平台兼容性
uni-app(4.64)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| √ | √ | √ | √ | √ | × | √ | √ | √ |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ |
umi-charts
uni-app 图表组件库。页面使用 Options API + Canvas 2D 绘制,布局与 option 转换在 common 中实现。下载示例项目,导入本插件运行起来,可以一键复制代码,超级方便上手。
本插件面向 uni-app Vue2 / Vue3(
.vue)。uni-app x 请使用umi-charts-x。 要求 HBuilderX^3.8。组件为 Options API,可同时运行于 Vue2 与 Vue3。请购买源码授权版。 加密版(普通授权)在 小程序、App(Android / iOS)、鸿蒙 均无法正常编译。这是 DCloud 对 uni-app 前端加密插件的平台限制,不是图表业务代码问题。需要在这些端使用,请购买并导入 源码授权版。
特性:
- 19 种图表组件,easycom 即用
- 同一套
option:H5 / App / 微信小程序 Canvas 2D - 触摸 Tooltip、深色模式
- 布局 API 入口:插件根
index.js(转发common/index.js) - 下载示例项目,导入本插件运行起来,可以一键复制代码,超级方便上手
查询配置: https://umi-d3gs10wf324913a53-1306321853.tcloudbaseapp.com/umi/umi-charts.html
安装
- 将本插件放入项目
uni_modules/umi-charts - 组件符合 easycom,导入后无需 import、无需注册
源码版一般无需手动配置。若编译器未自动识别,在 pages.json 中补充(加密版不要把 easycom 指到内部 .vue):
{
"easycom": {
"autoscan": true,
"custom": {
"^umi-(.*)": "@/uni_modules/umi-charts/components/umi-$1/umi-$1.vue"
}
}
}
请购买源码授权版
本插件在插件市场提供 普通授权(加密版) 和 源码授权。两种授权都绑定购买时的 DCloud appid 与 应用包名;改其中一个需重新购买。
正式使用请购买源码授权版。 加密版受 DCloud 对 uni-app 前端加密插件的限制,下列端无法正常编译(运行或发行都会报「付费插件解析失败」等错误):
| 端 | 加密版 | 源码版 |
|---|---|---|
| 微信 / 支付宝 / 其他小程序 | 不可用 | 可用 |
| App-Android | 不可用 | 可用 |
| App-iOS | 不可用 | 可用 |
| App-HarmonyOS / 鸿蒙元服务 | 不可用 | 可用 |
| H5 | 可能可用(HBuilderX 联网云编译) | 可用 |
源码版按普通 uni_modules 本地编译即可。将插件放到项目 uni_modules/umi-charts,用 HBuilderX 运行或发行到对应端。组件用法各端相同(easycom 直接用 <umi-line> 等)。
如需从脚本调用布局 API,从插件根导入(不要 import 插件内部文件):
import { mkOption, mkSeries, toLineOpt, layoutLine } from '@/uni_modules/umi-charts'
uni-app x 请改用 umi-charts-x,不要把本插件用在 uni-app x 工程。
编不过时
- 是否使用了加密版去编小程序 / App / 鸿蒙 → 换源码授权版。
- 加密版不要直接引入
uni_modules/umi-charts下的内部文件,也不要在pages.json里把 easycom 指到加密后的.vue。 - appid、包名、Bundle ID 是否与购买不一致。
快速开始
uni-app Vue 中直接传普通对象即可,不必调用 mkOption()。
<template>
<umi-line :option="option" :height="440"></umi-line>
</template>
<script>
export default {
data() {
return {
option: {
xAxis: { data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'] },
series: [{ type: 'line', data: [150, 230, 224, 218, 135, 147, 260] }]
}
}
}
}
</script>
柱状图把组件换成 umi-bar,并把 type 设为 'bar':
<umi-bar :option="option" :height="440"></umi-bar>
如需从脚本调用布局 API,从插件根导入:
import { mkOption, mkSeries, toLineOpt, layoutLine } from '@/uni_modules/umi-charts'
组件列表
| 组件 | series.type | 说明 |
|---|---|---|
umi-line |
line |
折线 / 面积 / 阶梯 |
umi-bar |
bar |
柱状图 |
umi-pictorial-bar |
pictorialBar |
象形柱图 |
umi-pie |
pie |
饼图 |
umi-scatter |
scatter |
散点 / 气泡 |
umi-effect-scatter |
effectScatter |
涟漪散点 |
umi-candlestick |
candlestick |
K 线 |
umi-radar |
radar |
雷达图 |
umi-boxplot |
boxplot |
盒须图 |
umi-heatmap |
heatmap |
热力图 |
umi-graph |
graph |
关系图 |
umi-lines |
lines |
路径飞线 |
umi-tree |
tree |
树图 |
umi-treemap |
treemap |
矩形树图 |
umi-sunburst |
sunburst |
旭日图 |
umi-parallel |
parallel |
平行坐标 |
umi-sankey |
sankey |
桑基图 |
umi-funnel |
funnel |
漏斗图 |
umi-gauge |
gauge |
仪表盘 |
通用属性
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| option | Object |
{} |
图表配置,字段与 umi-charts-x 的 ECOption 对齐 |
| width | string \| number |
'100%' |
宽度。纯数字按 rpx |
| height | string \| number |
400 |
高度。纯数字按 rpx |
option 配置
| 字段 | 说明 |
|---|---|
| color | 调色盘 string[] |
| backgroundColor | 背景色。#000 / #000000 / black 时进入深色模式 |
| tooltip | 触摸提示。默认开启,show: false 关闭 |
| xAxis | 类目轴。data 为类目名;axisLabel 控制刻度文字(见下) |
| yAxis | 数值轴。热力图等可用 yAxis.data |
| series | 系列数组,至少一项 |
series 常用字段:type / name / data / color / names。
xAxis.axisLabel
与 ECharts 对齐,常用字段:
| 字段 | 说明 |
|---|---|
| interval | 0 强制显示全部;1 隔 1 显示 1 个;'auto'(默认)过密时抽稀 |
| rotate | 旋转角度,-90 ~ 90。负值逆时针,如 -45 |
| margin | 文字离 X 轴线的距离 |
| fontSize | 字号 |
| color / fontFamily / show | 颜色、字体、是否显示 |
xAxis: {
type: 'category',
data: ['很长文字标签1', '很长文字标签2', '标签3'],
axisLabel: {
interval: 0,
rotate: -45,
margin: 10,
fontSize: 10
}
}
折线 / 面积
smooth、areaStyle.opacity、symbol、symbolSize、showSymbol、lineStyle、step。
柱状 / 象形柱
type: 'bar' 或 'pictorialBar',象形柱 symbol 如 'diamond'。
饼图
类目写在 xAxis.data(或 series.names),数值写在 series.data。
散点 / 气泡 / 涟漪
dataX / data / r;涟漪另有 brush / period / scale / waves,组件用 umi-effect-scatter,type: 'effectScatter'。
K 线 / 盒须
K 线:open / close / low / high,upColor / downColor。
盒须:boxMin / q1 / median / q3 / boxMax。
雷达 / 热力 / 仪表盘
雷达:data、radarMax。热力:data 按 xAxis.data × yAxis.data 行优先展开,min / max。仪表盘:data[0] 为当前值,min / max / name / unit。
关系 / 路径 / 树 / 桑基
| 图表 | 关键字段 |
|---|---|
| 关系图 | source / target,cats,layout 默认 'force' |
| 飞线 | x0 y0 x1 y1,names,curve / period / trail |
| 树图 | parent(根为 -1),orient:LR / TB |
| 矩形树 / 旭日 | parent + data |
| 桑基 | source / target / data |
| 漏斗 | data,sort 默认 'descending' |
| 平行坐标 | data 按轴数量展开 |
Tooltip
与 ECharts 接近:formatter 字符串模板 {a} {b} {c} {d},或 formatterFn。position 为 top / bottom / left / right / inside。可用 backgroundColor / borderColor / textStyle / extraCssText。
注意事项
- Vue 传普通对象:不必
mkOption()/mkSeries()。 - 组件与 type 对应:例如
umi-pie的series.type应为'pie'。 - 深色模式:
backgroundColor: '#000000'(或#000/black)。 - 关闭 Tooltip:
tooltip: { show: false }。 - 尺寸单位:
width/height纯数字按 rpx。 - 不采集数据、无广告、无需额外系统权限。
免责声明
加密版(普通授权)在 小程序、App(Android / iOS)、鸿蒙 均无法正常编译。若需在这些端使用,请购买并使用 源码授权版。详见上文「请购买源码授权版」。
隐私、权限声明
- 本插件需要申请的系统权限列表:无
- 本插件采集的数据:无
- 本插件是否包含广告:无

收藏人数:
购买源码授权版(
试用
使用 HBuilderX 导入示例项目
赞赏(0)
下载 1476
赞赏 4
下载 12654377
赞赏 1954
赞赏
京公网安备:11010802035340号