Vue3下Echarts的scatter使用本地图片

<template>
	<div class="container">

		<h1>Echarts图表</h1>
		<div id="myChart" style="width:1500px;height:500px;margin:auto;"></div>
		<img src="../../assets/img/fangxiang-left.png"></img>
		<img :src="imgsrc"></img>
	</div>
</template>

<script setup lang="ts">
import * as echarts from 'echarts'
import { onMounted, ref } from "vue";
import aj1 from '../../assets/img/fangxiang-left.png';
let imgsrc = ref('')
imgsrc.value = aj1

onMounted(() => { // 需要在页面加载完毕后展示图表,这里使用Vue3的组合式生命周期钩子 onMounted()
	let myChart = echarts.init(document.getElementById("myChart"));
	// 设置图表配置项,可以直接从Echarts的示例中,将配置项复制下来后放入下列的myChart.setOption()中实现图表的样式更换
	myChart.setOption({
		title: {
			text: 'Stacked Area Chart'
		},
		tooltip: {
			trigger: 'axis',
			axisPointer: {
				type: 'cross',
				label: {
					backgroundColor: '#6a7985'
				}
			}
		},
 
		toolbox: {
			feature: {
				saveAsImage: {}
			}
		},
		grid: {
			left: '3%',
			right: '4%',
			bottom: '3%',
			containLabel: true
		},
		xAxis: {
			scale: true
		},
		yAxis: {
			scale: true
		},
		series: [
			{
				type: 'effectScatter',
				//symbol:'image://./../../assets/img/fangxiang-down.png',
				symbol: 'image://' + aj1,
				symbolSize: 20,
				data: [
					[112.7, 205.2],
					[123.4, 142]
				]
			}, 
		]
	});
	window.onresize = function () { // 自适应大小
		myChart.resize();
	};
}); 
</script>

<style scoped>
 
 
</style>

Vue EChartsVue.js 框架的一个封装,用于更方便地将 ECharts(一款强大的图表库)集成到 Vue 项目中。它可以很好地与 Vue 的数据绑定机制结合,包括与本地文件的数据交互。当你想在 Vue 组件中使用 ECharts,并且数据来自本地文件(比如 CSV、JSON 等),你可以这样做: 1. 首先,你需要读取本地文件。在现代浏览器中,你可以使用 `FileReader` API 来异步加载文件内容,然后处理成 JSON 或者其他格式的数据。 ```javascript new FileReader().readAsText(file) .then(data => { let jsonData = JSON.parse(data); // 这里 jsonData 就是你处理后的数据 }); ``` 2. 创建 Vue 数据模型来存储这个数据,通常是用 Vue 的 `data()` 函数定义: ```javascript export default { data() { return { chartData: [], }; }, created() { this.loadChartData(); }, methods: { loadChartData() { // 替换为实际的文件读取和解析函数 // ... }, }, }; ``` 3. 当数据准备好后,将其绑定给 ECharts 的数据属性: ```javascript <template> <div id="chart"> <echarts :options="options" :data="chartData"></echarts> </div> </template> <script> // ... export default { // ... computed: { options() { // 根据你的需求配置 ECharts 的选项 return { series: [{ type: &#39;scatter&#39;, data: this.chartData, }] }; }, }, }; </script> ``` 这样,ECharts就会根据 `chartData` 变化自动更新图表了。注意,确保你在 `mounted` 生命周期钩子之后调用 `loadChartData`,以便数据初始化完成后再渲染图表。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值