Vue数据可视化——ECharts

参考ECharts官方文档

本文完整示例代码:

<template>
  <div>
  	<!-- 为ECharts准备一个具备大小(宽高)的Dom -->
    <div id="echarts" style="width: 600px;height:400px;"></div>
    <input type="button" @click="mcharts" value="显示图表">
  </div>

</template>

<script>
	<!-- 引入 echarts -->
    import * as echarts from 'echarts';
    export default {
        name: "echarts",
        methods:{
            mcharts(){
            	<!-- 基于准备好的dom,初始化echarts实例 -->
                const myChart = echarts.init(document.getElementById('echarts'));
                <!-- 指定图表的配置项和数据 -->
                const option = {
                    title: {
                        text: '第一个 ECharts 实例'
                    },
                    tooltip: {},
                    xAxis: {    //  x轴的下标
                        data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
                    },
                    yAxis: {    //  y轴
                        type: 'value'
                    },
                    series: [{   //  y轴的数据
                        name: '销量',
                        type: 'line',    //  bar为柱状图,line为折线图,pie为饼图
                        data: [5, 20, 36, 10, 10, 20]
                    }]
                };
                <!-- 使用刚指定的配置项和数据显示图表 -->
                myChart.setOption(option)
            }
        }
    }
</script>

<style scoped>

</style>

代码效果
在这里插入图片描述

一、 Vue引入ECharts

1、项目中安装echarts依赖

npm install echarts -S

2、在使用ECharts的组件中引入(按照最新v5版本)

(1)全部引入

import * as echarts from 'echarts';
// 或
const echarts = require('echarts');

(2)局部按需引入

import * as echarts from 'echarts/core';
import { BarChart } from 'echarts/charts';
import { GridComponent } from 'echarts/components';
// 注意,新的接口中默认不再包含 Canvas 渲染器,需要显示引入,如果需要使用 SVG 渲染模式则使用 SVGRenderer
import { CanvasRenderer } from 'echarts/renderers';
echarts.use([BarChart, GridComponent, CanvasRenderer]);

注意:
v5版本去除default exports 的支持,所以不再支持import echarts from 'echarts'; 或者import echarts from 'echarts/lib/echarts';(按需引入)

二、准备一个呈现图标的盒子

<template>
  <div id="echarts" style="width: 600px;height:400px;"></div>
</template>

三、初始化ECharts实例对象

//document.getElementById('echarts')决定图表呈现的位置
var myChart = echarts.init(document.getElementById('echarts'));

四、准备配置项

		var option = {
                    title: {
                        text: '第一个 ECharts 实例'
                    },
                    tooltip: {},
                    xAxis: {    //  x轴的下标
                        data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
                    },
                    yAxis: {    //  y轴
                        type: 'value'
                    },
                    series: [{   //  y轴的数据
                        name: '销量',
                        type: 'line',    //  bar为柱状图,line为折线图,pie为饼图
                        data: [5, 20, 36, 10, 10, 20]
                    }]
                };

配置项参数讲解

echarts使用 option 来描述其对图表的各种需求,包括:有什么数据、要画什么图表、图表长什么样子、含有什么组件、组件能操作什么事情等等。简而言之,option 表述了:数据、数据如何映射成图形、交互行为。option 常用的组件如下:

● title:为图表配置标题

title: {
    text: '第一个 ECharts 实例'
}

● legend: 图例组件展现了不同系列的标记(symbol),颜色和名字。可以通过点击图例控制哪些系列不显示

● tooltip:鼠标移上去的提示

● xAxis:配置要在 X 轴显示的项

xAxis: {
    data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
}

● yAxis:配置要在 Y 轴显示的项

● series:装载数据

series: [{
    name: '销量',  // 系列名称
    type: 'bar',  // 系列图表类型
    data: [5, 20, 36, 10, 10, 20]  // 系列中的数据内容
}]

五、使用刚指定的配置项和数据显示图表

myChart.setOption(option)

还有一种全局引入Echarts的方法,这样不用在每个页面都重复引入ECharts。

1、在main.js引入echarts并作为全局属性

//main.js文件
import * as echarts from 'echarts';
Vue.prototype.$echarts = echarts

2、在组件中直接使用

 const myChart = this.$echarts.init(document.getElementById('echarts'))

注意:
在组件中使用时必须用this.$echarts,因为自定义挂载在Vue的全局属性必须用 “this.$属性名” 来使用。

### Hadoop 数据采集方法 在利用Hadoop进行数据采集的过程中,通常会采用两种主要方式:批量导入和实时流式传输。对于社交媒体或电商交易平台这类持续产生新数据的应用场景来说,选择合适的数据采集策略至关重要。 #### 批量导入 当目标是从已有的文件系统或其他数据库中迁移历史数据到Hadoop集群时,可以考虑使用`Sqoop`工具来进行结构化数据的高效转移[^1]。此外,针对非结构化的文本、图片等内容,则可以通过编写自定义程序读取本地磁盘上的文件并上传至HDFS(Hadoop Distributed File System),从而完成一次性大批量的数据加载操作。 #### 实时流式传输 为了捕捉最新的动态变化,如社交平台上用户的即时互动行为或者电商平台发生的每一笔订单记录,推荐部署Apache Flume或Kafka Connect服务作为消息队列中介层,负责监听源头事件的发生并将之转化为适合写入HBase表单或是追加到现有日志文件中的格式再传递给下游消费者&mdash;&mdash;即运行于YARN资源调度器管理下的Spark Streaming作业实例来进一步加工处理[^2]。 --- ### Vue 数据可视化实现方案 构建基于Vue.js框架的数据可视化前端界面涉及多个层面的技术选型和技术栈组合: #### 组件库的选择 考虑到开发效率与用户体验之间的平衡点,建议优先选用Element UI 或 Ant Design of Vue 这样的成熟UI组件库,它们不仅提供了丰富的图表控件选项,还具备良好的跨浏览器兼容性和响应式布局特性,有助于加速项目迭代周期的同时保障最终产品的质量稳定性[^3]。 #### 图形渲染引擎集成 ECharts 是由百度团队维护的一个开源JavaScript图表库,因其出色的性能优化能力和高度定制化的绘图功能而广受好评;另一方面,D3.js则凭借其灵活多变的操作API以及深入浅出的学习曲线同样赢得了众多开发者青睐。无论是哪种选择都可以很好地嵌入到Vue项目的生命周期钩子函数内执行初始化配置工作,并根据实际业务需求调用相应的方法绘制静态/动态图形元素。 ```javascript // ECharts 示例代码片段 import * as echarts from 'echarts'; export default { mounted() { const chartDom = document.getElementById('main'); var myChart = echarts.init(chartDom); var option; option = { title: { text: '某站点用户访问来源' }, tooltip: {}, legend: { data: ['流量'] }, xAxis: {data: ["直接访问","邮件营销","联盟广告"]}, yAxis: {}, series: [{ name: '流量', type: 'bar', data: [5, 20, 36] }] }; option && myChart.setOption(option); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值