uni-app使用Echarts图表

1、安装ECharts插件

首先,我们需要在uni-app项目中安装ECharts插件。打开终端或命令行,进入uni-app项目的根目录,并执行以下命令:

npm install echarts --save

运行这个命令会安装ECharts插件,并将其添加到项目的依赖项中。

2、引入ECharts库

在需要使用ECharts的页面中,我们需要引入ECharts库。在对应的Vue页面中,可以使用以下代码来引入ECharts库:

import * as echarts from 'echarts'  // 引入ECharts库

3、创建Charts实例和图表容器

接下来,在Vue的mounted生命周期中,创建一个ECharts实例,并指定一个DOM元素来承载图表

mounted() {
  this.initChart()
},

methods: {
  initChart() {
    // const chartContainer = this.$refs.chartContainer  // 获取图表容器 DOM
	const chartContainer = document.getElementById("chartContainer")
    this.chart = echarts.init(chartContainer)  // 创建ECharts实例并传入图表容器
  }
}

在模板中,我们需要为图表指定一个DOM容器。例如,可以在<template>标签中添加如下代码:

<view ref="chartContainer" id="chartContainer" class="chart-container"></view>

4、配置和渲染图表

现在,我们可以开始配置和渲染图表了。在Vue页面中,使用ECharts提供的API配置和渲染图表。可以通过调用setOption方法来配置图表的数据和样式。

echarts官方:https://echarts.apache.org/zh/index.html

4.1饼图

饼图用来展示不同部分相对于整体的比例和分布情况

<template>
	<view class="container">

		<view style="padding: 0 10px 0 10px">
			<view ref="chartContainer" id="chartContainer" class="chart-container"></view>
		</view>

	</view>
</template>

<script>
	import config from '@/config';
	const baseUrl = config.baseUrl;

	import * as echarts from 'echarts' // 引入ECharts库

	export default {
		data() {
			return {
				loading: false,
			}
		},
		onLoad(option) {
			console.log("onLoad")
			this.getHomePageData();
		},
		onReady() {
			// 页面准备就绪后的操作
			console.log("onReady")
			this.initChart()
		},
		onPullDownRefresh() {
			setTimeout(() => {
				this.getHomePageData()
				uni.stopPullDownRefresh();
				uni.showToast({
					title: '刷新成功',
					icon: 'none'
				});
			}, 1000)
		},
		methods: {
			getHomePageData() {
				let self = this;
				uni.request({
					withCredentials: true,
					url: baseUrl + '',
					data: {
						userId: self.user.userId,
					},
					header: {
						'Content-Type': 'application/x-www-form-urlencoded' // 或者 'application/json'
					},
					method: 'post',
					success: (res) => {
						self.chartSeriesData = res.data.amountMap
						console.log("getHomePageData")

						let option = {
							title: {
								text: '资金统计',
								left: 'left',
								top: 5
							},
							tooltip: {
								trigger: 'item',
								formatter: '{b} : \n{c} '
							},
							series: [{
								type: 'pie',
								radius: '60%',
								center: ['50%', '65%'],
								avoidLabelOverlap: true,
								label: {
									padding: [0, -40],
									normal: {
										show: true,
										position: 'outside'
									}
								},
								labelLine: {
									show: true,
									length: 5,
									length2: 10,
								},
								labelLayout: {
									verticalAlign: "bottom",
									dy: -10,
								},
								data: [{
										value: self.chartSeriesData.availbalance,
										name: '可用余额'
									},
									{
										value: self.chartSeriesData.blockbalance,
										name: '冻结金额'
									},
									{
										value: self.chartSeriesData.usedAmount,
										name: '已使用金额'
									}
								]
							}]
						}
						this.chart.clear()
						this.chart.setOption(option)
					}
				})
			},
			initChart() {
				let self = this;
				echarts.env.touchEventsSupported = false;
				echarts.env.wxa = false;
				// const chartContainer = this.$refs.chartContainer
				const chartContainer = document.getElementById("chartContainer")
				self.chart = echarts.init(chartContainer)
				let option = {}
				self.chart.setOption(option)
			},

		}
	}
</script>

<style scope>
	.container {
		display: flex;
		flex-direction: column;
		/* align-items: center; */
		justify-content: center;
		background-color: #ffffff;
	}

	.chart-container {
		height: 200px;
	}
</style>
  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
uni-app使用echarts的详细教程如下: 1. 安装echarts插件 在uni-app项目的根目录下,打开终端,执行以下命令安装echarts插件: ```shell npm install echarts --save ``` 2. 在页面中引入echarts 在需要使用echarts的页面中,引入echarts的js文件。可以在`<script>`标签中使用`import`语句引入echarts: ```javascript import * as echarts from 'echarts' ``` 3. 创建echarts实例 在页面的`<template>`标签中,添加一个容器元素用于显示echarts图表: ```html <view class="chart-container" id="chart"></view> ``` 4. 初始化echarts实例 在页面的`<script>`标签中,使用`uni.createSelectorQuery()`方法获取到容器元素的节点,然后使用`echarts.init()`方法初始化echarts实例: ```javascript onReady() { uni.createSelectorQuery().select('#chart').fields({ node: true, size: true }).exec((res) => { const canvas = res[0].node const ctx = canvas.getContext('2d') const dpr = uni.getSystemInfoSync().pixelRatio canvas.width = res[0].width * dpr canvas.height = res[0].height * dpr const chart = echarts.init(canvas, null, { width: res[0].width, height: res[0].height, devicePixelRatio: dpr }) this.chart = chart }) } ``` 5. 配置echarts图表 在页面的`<script>`标签中,使用`this.chart.setOption()`方法配置echarts图表的选项,例如: ```javascript this.chart.setOption({ title: { text: '柱状图示例' }, xAxis: { data: ['A', 'B', 'C', 'D', 'E'] }, yAxis: {}, series: [{ name: '销量', type: 'bar', data: [5, 20, 36, 10, 10] }] }) ``` 6. 渲染echarts图表 在页面的`<script>`标签中,使用`this.chart.render()`方法将echarts图表渲染到页面上: ```javascript this.chart.render() ``` 以上是uni-app使用echarts的详细教程。你可以根据需要进行配置和定制,实现各种类型的图表展示。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值