1. Import echart in HTML file<!-- Import echarts --> <script src="https://cdn.bootcdn.net/ajax/libs/echarts/4.8.0/echarts.min.js"></script> 2. Mount the echarts object on main.jsVue.prototype.$echarts = window.echarts // Use this.$echarts directly when using 3. Page structure<template> <div class="com-container"> <div class="com-chart" ref="sellerRef"></div> </div> </template> 4.Data in dataexport default { data () { return { // Initialized chart chartInstance: null, allDate: null, //Data returned by the server} }, } ```js ##### 5. Logic in methods ```js methods: { // Initialize echarts object initEchart(){ // Get the DOM object this.chartInstance = this.$echarts.init(this.$refs.sellerRef) }, // Get data from the server async getData(){ const {data:res} = await this.$http.get('seller') this.allDate = res // The data structure of the return is name, merchant, value // Sort the returned data from small to large sort method this.allDate.sort((a, b) => { return a.value - b.value }) // Call the update view method this.updateChart() }, // Update the chart updateChart(){ // Y-axis category axis data const sellerNames = this.allDate.map(item=>{ // Adjust return item.name according to your needs }) // Data of the x-axis value axis const sellerValues = this.allDate.map(item=>{ return item.value }) const option = { xAxis: type: 'value' }, yAxis: { type: 'category', // The y-axis coordinate axis uses the traversed name data:sellerNames }, series: [ { // Type is bar chart type: 'bar', // The x-axis data needs to be set in the series data type as the traversal value data:sellerValues } ] } // Render optio data to dom object this.chartInstance.setOption(option) }, Mounted hook function call// DOM loading is complete call mounted () { this.initChart() this.getData() }, Changing the column chart configuration1. Introduce the theme configuration file in index.html<!-- Introducing the topic --> <script src="./static/lib/theme/chalk.js"></script> 2. Use initialization to get DOM and pass it into chalk where the theme is neededthis.chartInstance = this.$echarts.init(this.$refs.sellerRef, 'chalk') 3.option configuration LinearGradient(x1,x2,y1,y2) linear gradientconst option = { title: text: '| Merchant sales statistics', textStyle: { fontSize: 66 }, left: 20, top: 20 }, // Axis configuration grid: { top: '20%', left: '3%', right: '6%', bottom: '3%', // The distance includes the axis text containLabel: true }, xAxis: type: 'value' }, yAxis: { type: 'category', // The y-axis coordinate axis uses the traversed name data:sellerNames }, series: [ { // Type is bar chart type: 'bar', // The x-axis data needs to be set in the series data type as the traversal value data: sellerValues, // Column width barWidth: 66, // Column text does not display label by default: { show: true, // The text is displayed on the right position: 'right', textStyle: { // The color is white color: 'white' } }, //Control each item in the column itemStyle: { // Control the corner radius of the barBorderRadius: [0, 33, 33, 0], // Linear gradient // Specify different percentages of color values color: new this.$echarts.graphic.LinearGradient(0, 0, 1, 0, [ { // 0 percent style offset: 0, color: '#5052EE' }, { // 100% offset: 1, color: '#AB6EE5' } ]) } } ], tooltip: { trigger: 'axis', axisPointer: type: 'line', // Default is a straight line, optional: 'line' | 'shadow' z: 0, // Background level lineStyle: { width: 66, // background width color: '#2D3443' // background color} } } } ``` The above is the details of how to use the bar chart in Vue and modify the configuration by yourself. For more information about using the bar chart in Vue, please pay attention to other related articles on 123WORDPRESS.COM! You may also be interested in:
|
<<: MySQL detailed explanation of isolation level operation process (cmd)
>>: Detailed steps for setting up a nexus server
In MySQL, most indexes (such as PRIMARY KEY, UNIQ...
This article shares with you the installation and...
Table of contents File() grammar parameter Exampl...
By default, Nginx supports only one SSL certifica...
Hello everyone, I am Liang Xu. When using Linux, ...
1. Display the files or directories in the /etc d...
Table of contents Preface Computed properties Int...
New features in MySQL 8.0 include: Full out-of-th...
Today, I found out while working on PHP that if w...
Table of contents Preface Several common bit oper...
This article example shares the specific code of ...
Install 8.0.13 based on MySQL 6.1.3. MySQL 8.0.13...
This article does not introduce anything related ...
Problem Description In the framework of Ele.me UI...
Installation Steps 1. Install Redis Download the ...