日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

在vue文件引入echarts_vue文件中使用echarts.js的两种方式

發布時間:2025/3/15 vue 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在vue文件引入echarts_vue文件中使用echarts.js的两种方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近工作中需要用到echarts,由于項目是用的vue-cli開發的。在網上搜到vue中合成了vue-echarts,但是不想使用vue中規定好的數據格式,于是就自己做了一個vue項目引用原生echarts的簡單demo,實現過程如下:用了兩種實現方式

準備工作

1、安裝echarts依賴

控制臺輸入:npm install echarts --save

2、全局引入

main.js中引入

import echarts from 'echarts'

Vue.prototype.$echarts = echarts

創建圖表

第一種創建方式

在一個.vue文件中引入多張圖表

創建WelcomePage.vue

第一種在vue中使用echart的方式

// 引入基本模板,按需加載

let echarts = require('echarts/lib/echarts');

// 引入柱狀圖

require('echarts/lib/chart/bar');

// 引入柱狀圖

require('echarts/lib/chart/pie');

require('echarts/lib/component/tooltip');

require('echarts/lib/component/title');

export default {

name: "WelcomePage",

data () {

return { }

},

mounted(){

this.drawBar();

this.drawPie();

},

methods:{

drawBar(){

// 基于dom,初始化echarts實例

let barGraph = echarts.init(document.getElementById('barGraph'));

// 繪制圖表

barGraph.setOption({

title: {

text: '全年產量趨勢圖',

left: 'center'

},

tooltip: {

trigger: 'item',

formatter: '{a}
{b} : {c}'

},

legend: {

left: 'center',

data: ['本年', '上年'],

bottom:0

},

xAxis: {

type: 'category',

name: 'x',

splitLine: {show: false},

data: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']

},

grid: {

left: '1%',

right: '2%',

bottom: '8%',

containLabel: true

},

yAxis: {

type: 'category',

name: 'y',

splitLine: {show: true},

data:['10%','20%','30%','40%','50%','60%','70%','80%','90%','100%']

},

series: [

{

name: '本年',

type: 'line',

data: [0.8, 0.98, 0.96, 0.27, 0.81, 0.47, 0.74, 0.23, .69, 0.25, 0.36, 0.56]

},

{

name: '上年',

type: 'line',

data: [1, 0.2, 0.4, 0.8, 0.16, 0.32, 0.64, 1.28, 5.6, 0.25, 0.63, 0.65, 0.12]

},

]

})

},

drawPie(){

let pieGraph = echarts.init(document.getElementById('pieGraph'));

pieGraph.setOption({

title : {

text: '某站點用戶訪問來源',

subtext: '純屬虛構',

x:'center'

},

tooltip : {

trigger: 'item',

formatter: "{a}
{b} : {c} (ozvdkddzhkzd%)"

},

legend: {

orient: 'vertical',

left: 'left',

data: ['直接訪問','郵件營銷','聯盟廣告','視頻廣告','搜索引擎']

},

series : [

{

name: '訪問來源',

type: 'pie',

radius : '55%',

center: ['50%', '60%'],

data:[

{value:335, name:'直接訪問'},

{value:310, name:'郵件營銷'},

{value:234, name:'聯盟廣告'},

{value:135, name:'視頻廣告'},

{value:1548, name:'搜索引擎'}

],

itemStyle: {

emphasis: {

shadowBlur: 10,

shadowOffsetX: 0,

shadowColor: 'rgba(0, 0, 0, 0.5)'

}

}

}

]

})

}

}

}

實現效果如下圖:

第二種實現方式(以組件的形式)

創建父組件 father.vue

{{ msg }}

第二種方式:通過組件的方式進行頁面渲染

// 引入兩個子組件

import BarGraph from "./bargraph";

import PieGraph from "./piegraph";

export default {

name: "father",

components:{

BarGraph,

PieGraph,

},

data(){

return{

msg: '我是爸爸,想看我的兒子,眼睛請往下移',

}

}

}

創建子組件barGraph.vue

{{ msg }}

let echarts = require('echarts/lib/echarts');

// 引入柱狀圖

require('echarts/lib/chart/bar');

require('echarts/lib/component/tooltip');

require('echarts/lib/component/title');

// import echarts from 'echarts'

export default {

name: "bargraph",

// props:['id'], // 第一種接收父親傳過來的值的方式

props: {

id: {

type: String,

default: 'chart'

}

},

data(){

return {

msg: "我是第一個子組件--bar",

chart: null,

}

},

mounted(){

this.drawBar();

},

methods:{

drawBar(){

this.chart = echarts.init(document.getElementById(this.id));

let colors = ['#5793f3', '#d14a61', '#675bba'];

this.chart.setOption(

{

color: colors,

tooltip: {

trigger: 'axis',

axisPointer: {

type: 'cross'

}

},

grid: {

right: '20%'

},

toolbox: {

feature: {

dataView: {show: true, readOnly: false},

restore: {show: true},

saveAsImage: {show: true}

}

},

legend: {

data:['蒸發量','降水量','平均溫度']

},

xAxis: [

{

type: 'category',

axisTick: {

alignWithLabel: true

},

data: ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月']

}

],

yAxis: [

{

type: 'value',

name: '蒸發量',

min: 0,

max: 250,

position: 'right',

axisLine: {

lineStyle: {

color: colors[0]

}

},

axisLabel: {

formatter: '{value} ml'

}

},

{

type: 'value',

name: '降水量',

min: 0,

max: 250,

position: 'right',

offset: 80,

axisLine: {

lineStyle: {

color: colors[1]

}

},

axisLabel: {

formatter: '{value} ml'

}

},

{

type: 'value',

name: '溫度',

min: 0,

max: 25,

position: 'left',

axisLine: {

lineStyle: {

color: colors[2]

}

},

axisLabel: {

formatter: '{value} °C'

}

}

],

series: [

{

name:'蒸發量',

type:'bar',

data:[2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]

},

{

name:'降水量',

type:'bar',

yAxisIndex: 1,

data:[2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3]

},

{

name:'平均溫度',

type:'line',

yAxisIndex: 2,

data:[2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2]

}

]

}

)

}

}

}

創建pieGraph.vue

{{ msg }}

import echarts from 'echarts'

export default {

name: "piegraph",

props:{

id: {

type: String,

default: 'pieChart'

}

},

data(){

return{

msg: '我是第二個子組件--pie',

pieChart: null

}

},

mounted(){

this.drawPie();

},

methods: {

drawPie () {

this.pieChart = echarts.init(document.getElementById(this.id));

this.pieChart.setOption(

{

title : {

text: '某站點用戶訪問來源',

subtext: '純屬虛構',

x:'center'

},

tooltip : {

trigger: 'item',

formatter: "{a}
{b} : {c} (ozvdkddzhkzd%)"

},

legend: {

orient: 'vertical',

left: 'left',

data: ['直接訪問','郵件營銷','聯盟廣告','視頻廣告','搜索引擎']

},

series : [

{

name: '訪問來源',

type: 'pie',

radius : '55%',

center: ['50%', '60%'],

data:[

{value:335, name:'直接訪問'},

{value:310, name:'郵件營銷'},

{value:234, name:'聯盟廣告'},

{value:135, name:'視頻廣告'},

{value:1548, name:'搜索引擎'}

],

itemStyle: {

emphasis: {

shadowBlur: 10,

shadowOffsetX: 0,

shadowColor: 'rgba(0, 0, 0, 0.5)'

}

}

}

]

}

)

}

}

}

效果實現如下:

路由文件如下:

import WelcomePage from '@/components/WelcomePage'

import Father from '@/components/father'

import BarGraph from '@/components/bargraph'

import PieGraph from '@/components/piegraph'

export default new Router({

routes: [

{

path: '/',

name: 'WelcomePage',

component: WelcomePage

},

{

path: '/father',

name: 'father',

component: Father,

children:[

{

path: '/bargraph',

name: 'bargraph',

component: BarGraph

},

{

path: '/piegraph',

name: 'piegraph',

component: PieGraph

}

]

},

]

})

總結

以上是生活随笔為你收集整理的在vue文件引入echarts_vue文件中使用echarts.js的两种方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 天天干,天天操 | 性少妇xxxxx| 免费黄色看片网站 | 欧美日韩一级二级三级 | 欧美一区成人 | 中文字幕在线免费视频 | 无码精品一区二区三区AV | 色666| 精品成人在线视频 | 日韩一区av在线 | 欧美阿v | 欧美午夜精品久久久久免费视 | 一区二区毛片 | 伊人久久大香线蕉av色婷婷色 | a级一级片| 亚洲综合一区在线 | 嫩草网站 | 欧美日韩精品一区二区在线观看 | 亚洲播播 | 精品一区二区三区免费毛片爱 | 日本少妇裸体做爰高潮片 | 日本在线加勒比 | 青青草网站| 日韩福利 | 国产www视频 | 少妇床戏av | 少妇一边呻吟一边说使劲视频 | 美女啪啪无遮挡 | 亚洲在线免费看 | 国产精品一区二区三区四区五区 | 爱爱精品视频 | 天天躁日日躁狠狠躁 | 国产不卡在线播放 | 在线观看免费日韩av | 日韩一区二区三区四区五区六区 | 色小说在线 | 污视频在线观看网站 | 在线视频观看国产 | 亚洲欧美精品一区 | 黄频在线播放 | 欧美极品在线观看 | 精品免费久久久 | 免费看日产一区二区三区 | 成人wwwww免费观看 | 成人精品视频 | 欧美日韩一区视频 | 中文字幕123 | 2019自拍偷拍 | av中文字幕一区 | 久久久久亚洲av成人网人人软件 | 伊人免费在线观看高清版 | 伊人影院99 | 色噜噜日韩精品欧美一区二区 | 色综合天天综合网天天狠天天 | 欧美r级在线观看 | 在线观看免费av片 | 黄色一级小说 | 黄色在线免费观看 | 成年人国产精品 | 成人午夜在线 | 蜜桃av噜噜一区二区三区 | 黄色网页在线播放 | 99热这里只有精品在线观看 | 干成人网| 国产成人欧美 | 高潮白浆女日韩av免费看 | 欧美中文字幕一区二区 | 国产精品500部 | 九九热视 | 男人天堂视频网 | 国产精品一区二区三区免费在线观看 | 国产伦精品一区二区三区高清版 | 日本免费一区二区三区最新 | 椎名由奈在线观看 | 国产精品久久综合青草亚洲AV | 亚洲av片一区二区三区 | 老头av | 谁有免费黄色网址 | 日本黄网站在线观看 | 神马老子午夜 | 很黄很污的视频 | 国产精品69毛片高清亚洲 | 亚洲福利精品 | 91视频专区 | 在线观看日本一区 | 在线视频日本 | 色婷婷久 | 美女性高潮视频 | 亚洲av成人无码一区二区三区在线观看 | 奇米四色在线观看 | 国产三级漂亮女教师 | 欧美体内谢she精2性欧美 | 婷婷中文| 快色污| 男欢女爱久石 | 亚洲色图18p | 老太脱裤让老头玩ⅹxxxx | 国产亚洲一区二区在线 | 久久午夜无码鲁丝片午夜精品 |