在Vue中使用echarts实例

安装echarts依赖

npm install echarts -S
或者使用淘宝的镜像
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install echarts -S

创建图表

首先需要全局引入
在main.js中

// 引入echarts
import echarts from 'echarts'
Vue.prototype.$echarts = echarts

在vue文件里面使用


完整代码:

main.js

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import axios from 'axios'
import VueAxios from 'vue-axios'
import qs from 'qs'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import global from './Global'
import vueAplayer from 'vue-aplayer'
import Router from 'vue-router'
import commonFunction from './assets/js/commonFunction'
import packageFunc from './assets/js/commonFunction'
import echarts from 'echarts'
import {clearLoginState, isLogin, restoreLoginState} from './Utils'

// 恢复登录状态,避免在刷新后失去登录状态
restoreLoginState()
Vue.prototype.GLOBAL = global
Vue.prototype.$echarts = echarts
Vue.prototype.$axios = axios

Vue.use(Router, vueAplayer, VueAxios, axios, qs, commonFunction, packageFunc)
// 全局配置:完整引入 Element:
Vue.use(ElementUI, {size: 'small', zIndex: 3000})
Vue.config.productionTip = false

// http请求拦截器
axios.interceptors.request.use(config => {
    config.baseURL = global.BASE_URL
    config.withCredentials = true
    config.headers['Content-Type'] = 'application/x-www-form-urlencoded'
    config.timeout = 10000
    config.transformRequest = [function (data) {
        // 对 data 进行任意转换处理
        return qs.stringify(data, {arrayFormat: 'repeat'})
    }]
    return config
}, err => {
    ElementUI.Message.error({message: '请求超时!'})
    return Promise.reject(err)
})

// http response 拦截器
axios.interceptors.response.use(response => {
    const data = response.data
    // 操作成功
    if (data.status === 1000) {
        return response
    }

    ElementUI.Message.error(data.msg)

    // 未登录或者账号信息错误,则跳转到登录页
    if (data.status === 1002) {
        // 清除登录信息
        clearLoginState()
        router.push('/login')
    }

    return Promise.reject(data)

}, (err) => { // 这里是返回状态码不为200时候的错误处理
    ElementUI.Message.error(err.toString())
    return Promise.reject(err)
})


//在路由跳转之前判断,除了首页以外,其他页面必须登录才能访问,异步问题
router.beforeEach((to, from, next) => {
    /* 路由发生变化修改页面title */
    if (to.meta.title) {
        document.title = to.meta.title
    }
    if (to.path === '/' || to.path === '/login' || to.path === '/activate' || to.path === '/register') {
        next()
    } else {
        if (isLogin()) {
            next()
        } else {
            // 未登录则跳转到登录页面
            next('/login?redirect=' + to.path)
        }
    }
})

new Vue({
    router,
    // render函数是渲染一个视图,然后提供给el挂载,如果没有render那页面什么都不会出来
    //components: { App }  vue1.0的写法
    // render: h => h(App)    vue2.0的写法
    render: h => h(App),
    template: '<App/>',
}).$mount('#app')

vue文件:

<template>
    <div>
        <h1>mistakescollection</h1>
        <!-- 为 ECharts 准备一个具备大小(宽高)的 DOM -->
        <div id="main1" style="width: 600px;height:400px;"></div>
        <div id="main2" style="width: 600px;height:400px;"></div>
    </div>
</template>

<script>

export default {
    name: 'MistakesCollection',
    data () {
        return {
            msg: 'Welcome to Your Vue.js App'
        }
    },
    mounted(){
        this.drawLine1();
        this.drawLine2();
    },
    methods: {
        drawLine1(){
            // 基于准备好的dom,初始化echarts实例
            let myChart = this.$echarts.init(document.getElementById('main1'))
            // 绘制图表
            myChart.setOption({
                title: { text: 'drawLine1' },
                tooltip: {},
                xAxis: {
                    data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
                },
                yAxis: {},
                series: [{
                    name: '销量',
                    type: 'bar',
                    data: [5, 20, 36, 10, 10, 20]
                }]
            });
        },
        drawLine2(){
            // 基于准备好的dom,初始化echarts实例
            let myChart = this.$echarts.init(document.getElementById('main2'))
            // 绘制图表
            myChart.setOption({
                backgroundColor: '#2c343c',
                series : [
                    {
                        name: '访问来源',
                        type: 'pie',
                        radius: '55%',
                        data:[
                            {value:235, name:'视频广告'},
                            {value:274, name:'联盟广告'},
                            {value:310, name:'邮件营销'},
                            {value:335, name:'直接访问'},
                            {value:400, name:'搜索引擎'}
                        ],
                        roseType: 'angle',
                        label: {
                            normal: {
                                textStyle: {
                                    color: 'rgba(255, 255, 255, 0.3)'
                                }
                            }
                        },
                        labelLine: {
                            normal: {
                                lineStyle: {
                                    color: 'rgba(255, 255, 255, 0.3)'
                                }
                            }
                        },
                        itemStyle: {
                            normal: {
                                shadowBlur: 200,
                                shadowColor: 'rgba(0, 0, 0, 0.5)'
                            }
                        }
                    }
                ]
            });
        }
    }

}
</script>

<style scoped>

</style>

需要什么做什么样的图形就在 https://echarts.apache.org/examples/zh/index.html 这里去找吧!复制粘贴修改!

效果:

参考:

https://www.jianshu.com/p/cf0a54374419

### 回答1: 在Vue使用Echarts非常简单和方便。首先,我们需要安装Echarts的依赖包。可以通过npm或者yarn来安装Echarts。 npm install echarts 或者 yarn add echarts 一旦安装完成,我们可以在Vue组件引入Echarts。首先,在需要使用Echarts的组件,引入Echarts的库。 import echarts from 'echarts' 接下来,在Vue组件的生命周期钩子函数,创建一个Echarts实例并进行配置。 export default { mounted() { // 创建一个 Echarts 实例 const chartContainer = document.getElementById('chart-container') const myChart = echarts.init(chartContainer) // 配置 Echarts myChart.setOption({ // 配置项... }) // 监听窗口变化,自动调整图表尺寸 window.addEventListener('resize', () => { myChart.resize() }) }, } 在这个例子,我们在组件的mounted钩子函数进行Echarts实例的创建。使用document.getElementById('chart-container')获取到父元素的DOM节点,然后用echarts.init()方法来创建Echarts实例。 接下来,在setOption()方法,我们可以配置Echarts的显示项。具体的配置项可以参考Echarts官方文档。在这个配置项,我们可以设置图表的类型、数据源、样式等。 最后,我们监听窗口变化事件,以及时调整图表的尺寸,使其适应屏幕的大小。 以上就是在Vue使用Echarts的基本步骤。通过这种方式,我们可以方便地在Vue项目使用Echarts来展示图表数据。 ### 回答2: 在Vue使用Echarts非常方便。首先,我们需要在项目安装Echarts依赖包。可以通过npm或yarn安装Echarts,比如在终端输入命令:npm install echarts或yarn add echarts。 安装完成后,我们可以在Vue组件引入Echarts,并在其mounted生命周期钩子进行初始化和绘制图表。例如,我们可以在一个柱状图组件使用Echarts: ``` <template> <div id="chart" style="width: 400px; height: 300px;"></div> </template> <script> import echarts from 'echarts'; export default { mounted() { // 初始化图表 const myChart = echarts.init(document.getElementById('chart')); // 定义图表的配置项和数据 const option = { xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, yAxis: { type: 'value' }, series: [{ data: [120, 200, 150, 80, 70, 110, 130], type: 'bar' }] }; // 使用配置项绘制图表 myChart.setOption(option); } }; </script> ``` 在上述例子,我们首先在template定义一个div容器,用于容纳Echarts图表。然后,在script引入echarts模块,并在mounted()生命周期钩子进行图表的初始化和配置。配置项包含x轴、y轴和series数据,我们可以根据具体需求进行自定义。最后,通过调用myChart.setOption(option)方法,将配置项应用到图表,实现图表的绘制。 需要注意的是,我们还可以在Vue组件利用一些生命周期钩子和方法来操作和更新图表,例如在数据发生变化时重新绘制图表。这样,我们就可以简单而快速地在Vue项目使用Echarts了。 ### 回答3: 在Vue使用Echarts是非常方便的。首先,我们需要安装echarts库。可以使用npm或yarn命令来安装echarts。安装完成后,我们可以在main.js文件引入Echarts库。 ```javascript import echarts from 'echarts' Vue.prototype.$echarts = echarts ``` 接下来,在需要使用Echarts图表的组件,我们可以使用`<template>`标签来创建一个容器,并在`mounted`生命周期钩子初始化和绘制Echarts图表。 ```html <template> <div ref="chart" style="width: 400px; height: 400px;"></div> </template> <script> export default { mounted() { this.initChart() }, methods: { initChart() { const chart = this.$echarts.init(this.$refs.chart) const option = { // 在这里设置你想绘制的图表的配置选项 } chart.setOption(option) } } } </script> ``` 注意,我们在`ref`属性给图表容器指定了一个引用名,并在`mounted`钩子使用`$refs`来引用该容器。然后,我们使用`this.$echarts.init`方法初始化图表,并将其挂载到DOM上。 接下来,我们可以在`option`对象设置图表的配置选项,如图表类型、数据、样式等。具体的配置选项请参考Echarts官方文档。 最后,我们使用`chart.setOption(option)`来绘制并更新图表。可以在需要更新图表的时候调用该方法。 以上就是在Vue使用Echarts的基本使用方式。通过这种方式,我们可以在Vue应用轻松使用Echarts来创建各种类型的图表。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南北极之间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值