更新记录

0.0.1(2022-04-25) 下载此版本

初版


平台兼容性

uni-app

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- - - - - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 快应用-华为 快应用-联盟
- - - - - - - - -

其他

多语言 暗黑模式 宽屏模式
× ×

在uni-app中使用 echarts

开发者可以通过熟悉的 ECharts 配置方式,快速开发图表,满足各种可视化需求。

创建图表

复制代码<view class="container">
    <echarts ref="echarts" :option="option" canvasId="echarts"></echarts>
</view>
复制代码export default {
    data() {
        return {
            option: {}
        }
    },
    onReady() {
        this.option = {
            backgroundColor: "#ffffff",
            series: [{
                label: {
                    normal: {
                        fontSize: 14
                    }
                },
                type: 'pie',
                center: ['50%', '50%'],
                radius: ['0%', '40%'],
                data: [{
                    value: 55,
                    name: '北京'
                }, {
                    value: 20,
                    name: '武汉'
                }, {
                    value: 10,
                    name: '杭州'
                }, {
                    value: 20,
                    name: '广州'
                }, {
                    value: 38,
                    name: '上海'
                }]
            }]
        };
    }
}

这对于所有 ECharts 图表都是通用的,用户只需要修改上面 option 的内容,即可改变图表。option 的使用方法参见 ECharts 配置项文档。对于不熟悉 ECharts 的用户,可以参见 5 分钟上手 ECharts 教程。

如何在一个页面中加载多个图表?

canvasId 设置为不同

如何保存为图片?

复制代码// 先保存图片到临时的本地文件,然后存入系统相册
this.$refs['echarts'].canvasToTempFilePath({
    success: (res) => {
        // #ifdef H5
        console.log(res.tempFilePath)
        return
        // #endif
        // 存入系统相册
        uni.saveImageToPhotosAlbum({
            filePath: res.tempFilePath || '',
            success: res => {
                console.log("success", res)
            },
            fail: res => {
                console.log("fail", res)
            }
        })
    },
    fail: (res) => console.log(res)
});

文件太大怎么办?

发布时,如果对文件大小要求更高,可以在 ECharts 在线定制网页下载仅包含必要组件的包,并且选择压缩。

此外,还可考虑使用微信小程序的分包策略和分包异步加载

复制代码{
    "path": "pages/tabbar/index",
    "style": {
        "navigationBarTitleText": "首页",
        "usingComponents": {
            "echarts": "/pages/common-a/components/echarts/echarts"
        },
        "componentPlaceholder": {
            "echarts": "view"
        }
    }
}

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议
act***@sina.com

2024-10-29

按照上面示例,加载不了图表

大橙子12343

2024-07-01

先五星一下,我去试试,刚评论错了,想评论秋云chart的

635***@qq.com

2024-06-07

合适,感谢大佬

zha***@163.com

2024-06-03

完全不支持 visualMap吗?

2023

2024-05-22

大佬,请赐教,如何实现缩放、拖拽,触发legendselectchanged 事件。

957***@qq.com

2024-05-20

已解决,小程序缩放、拖拽,感谢插件

363***@qq.com

2024-05-10

legendselectchanged 等 事件触发不了,

sun***@foxmail.com

2024-04-12

277***@qq.com

2024-04-12

如何使用tab栏切换图表,会存在内存泄漏的问题

932***@qq.com

2023-12-05

小程序不支持

2024-12-13

数据多点击图表让他显示tooltip的时候图表会消失。而且换成自己定制的echarts.min.js会报错t.domTarget.addEventListener is not a function图表出不来。有没有知道的,帮忙解决一下

2023-07-14

请教一个问题 需求:点击按钮的时候,图表在弹窗中横向展示 请问这个功能该插件可以实现吗

2023-06-27

option: { polar: { radius: ['50%', '70%'], center: ['50%', '50%'] }, title: { text: '', x: '0%', y: ...

2023-06-16

想定制 echarts 包,不知道用哪个版本的,求告知

2023-04-13

自定义echarts后, 增加了datazoom, 然后拖动就会报错, t.preventDefault is not a function,

2023-04-01

很神奇,app端运行实例跑出来了,然后自己写的不行引用了,也注册了,但是就是不行。然后介绍页面貌似也不支持app端,到底是能用还是不能呢。

2022-12-30

怎么刷新数据?

2022-10-25

需要tooltip里以回调的方式进行自定义处理,但是在数据中无论怎么传值就是无效。 查资料说是以data方式传值会被过滤掉,所以在setOption前,进行回调,但加上后会报错,不知道有没有人弄出来的