uni-app如何引入echarts

news/2025/1/12 11:36:43/

uni-app官网的官网插件中找echarts

打开图片对应的echarts,点击下载并导入插件

如果是vue3使用const echarts = require('../../uni_modules/lime-echart/static/echarts.min');引入echarts

<template><view><view style="width:750rpx; height:750rpx"><l-echart ref="chartRef" @finished="init"></l-echart></view></view>
</template><script lang="ts" setup>
// 插件内的 三选一
const echarts = require('../../uni_modules/lime-echart/static/echarts.min');
import { onMounted, ref } from "vue";// 定义数据数组
const xAxisData: string[] = [];
const data1: number[] = [];
const data2: number[] = [];
const data3: number[] = [];
const data4: number[] = [];// 循环生成随机数据
for (let i = 0; i < 10; i++) {xAxisData.push('Class' + i);data1.push(+(Math.random() * 2).toFixed(2));data2.push(+(Math.random() * 5).toFixed(2));data3.push(+(Math.random() + -0.3).toFixed(2));data4.push(+Math.random().toFixed(2));
}// 定义强调样式对象
const emphasisStyle = {itemStyle: {shadowBlur: 10,shadowColor: 'rgba(0, 0, 0, 0.3)'}
};// 构建图表配置选项对象
const buildOption = () => {return {legend: {data: ['bar', 'bar2', 'bar3', 'bar4'],left: '10%'},tooltip: {},xAxis: {data: xAxisData},yAxis: {},grid: {bottom: 100},series: [{name: 'bar',type: 'bar',stack: 'one',emphasis: emphasisStyle,data: data1},{name: 'bar2',type: 'bar',stack: 'one',emphasis: emphasisStyle,data: data2},{name: 'bar3',type: 'bar',stack: 'one',emphasis: emphasisStyle,data: data3},{name: 'bar4',type: 'bar',stack: 'two',emphasis: emphasisStyle,data: data4}]};
};const chartRef = ref(null);onMounted(() => {// 组件能被调用必须是组件的节点已经被渲染到页面上setTimeout(async () => {if (!chartRef.value) return;const myChart = await chartRef.value.init(echarts);const option = buildOption();// 先设置基础的图表配置选项option && myChart.setOption(option);// 监听brushSelected事件,用于处理图表交互后的操作myChart.on('brushSelected', function (params) {const brushed: string[] = [];const brushComponent = params.batch[0];for (let sIdx = 0; sIdx < brushComponent.selected.length; sIdx++) {const rawIndices = brushComponent.selected[sIdx].dataIndex;brushed.push(`[Series ${sIdx}] ${rawIndices.join(', ')}`);}myChart.setOption({title: {backgroundColor: '#333',text: `SELECTED DATA INDICES: \n${brushed.join('\n')}`,bottom: 0,right: '10%',width: 100,textStyle: {fontSize: 12,color: '#fff'}}});});}, 300);
});
</script>


http://www.ppmy.cn/news/1562489.html

相关文章

Qiskit快速编程探索(基本篇)

一、引言 1.1 量子计算的崛起 量子计算作为当今科学界与技术领域最具开创性的前沿方向之一&#xff0c;正逐步重塑我们对计算能力的认知边界。自20世纪初量子力学理论奠基以来&#xff0c;历经无数科学家的不懈钻研&#xff0c;量子计算从抽象的理论构想逐步走向现实应用的舞…

多租户系统的实现方案

多租户架构&#xff08;Multi-Tenant Architecture&#xff09;是一种在单个系统中支持多个独立租户&#xff08;客户或公司&#xff09;的设计模式。每个租户可以拥有自己独立的数据、业务逻辑、用户界面等。多租户架构通常被应用于SaaS&#xff08;Software as a Service&…

通过ESP32和INMP441麦克风模块实现音频数据传递

在现代物联网&#xff08;IoT&#xff09;项目中&#xff0c;音频数据的采集与传输成为了一个热门的应用领域。通过结合ESP32开发板和INMP441麦克风模块&#xff0c;我们可以实现一个低成本、高效率的音频数据传输系统。本文将详细介绍如何使用这两种硬件组件来构建和测试音频传…

Nginx代理同域名前后端分离项目的完整步骤

前后端分离项目&#xff0c;前后端共用一个域名。通过域名后的 url 前缀来区别前后端项目。 以 vue php 项目为例。直接上 server 模块的 nginx 配置。 server{ listen 80; #listen [::]:80 default_server ipv6onlyon; server_name demo.com;#二配置项目域名 index index.ht…

基于华为ENSP的OSPF数据报文保姆级别详解(3)

本篇博文摘要 &#x1f31f; 基于华为ensp之OSPF数据报文——头部信息、Hello包、DR/BDR选举、DBD包等保姆级别具体详解步骤&#xff1b;精典图示举例说明、注意点及常见报错问题所对应的解决方法 引言 &#x1f4d8; 在这个快速发展的技术时代&#xff0c;与时俱进是每个IT人的…

CSS:背景样式、盒子模型与文本样式

背景样式 背景样式用于设置网页元素的背景&#xff0c;包括颜色、图片等。 背景颜色 使用 background-color 属性设置背景颜色&#xff0c;支持多种格式&#xff08;颜色英文、十六进制、RGB等&#xff09;。 div {background-color: lightblue; }格式示例十六进制#ff5733R…

Qt opencv_camera

VideoCapture 类主要用于从视频文件或摄像头捕获视频。这个指针 capture 可以用来控制视频的打开、读取帧、查询属性以及关闭视频流等操作。 static cv::Mat frame; 声明了一个静态的 cv::Mat 对象 frame&#xff0c;用于存储图像帧。cv::Mat 是 OpenCV 中用于存储图像的矩阵类…

潜力巨大但道路曲折的量子计算

近一年来&#xff0c;由于工作的原因参观访问了一些量子产业园&#xff0c;接触了量子加密计算机、量子云计算等非常炫酷的概念性产品&#xff0c;这与自己一直认为的“量子技术仍然处于实验室研究阶段”的基本判断与认知产生了强烈的冲突&#xff0c;一刹那间&#xff0c;心中…