新手Echarts问题:为什么官网有些案例无法直接调用?

因为工作需要,公司最近需要我们去调用一下echarts。

因为以前没有用过echarts,只好先去学习一下。

今天在测试echarts时却发现了一个问题:

官网发的大部分案例都可以直接复制执行,还有一些是需要json文件的暂且不论。

今天测试的这个,我看过代码没有调用json文件的记录,却还是显示一片空白。

echarts环境:echarts用的是官网的2.08M的源码包,浏览器是 firfox.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>test</title>
<script src="echarts.js"></script>
</head>
<body>
<div id="charts" style="position: absolute;width: 80%;height: 80%;">

</div>
</body>
<script>
    var charts=echarts.init(document.getElementById('charts'));

//为了代码可读性,我把系统给的数据全部以 data 代替
var data0 = [ data ];

var data = [ data ];

// See https://github.com/ecomfe/echarts-stat
var myRegression = ecStat.regression('logarithmic', data);

myRegression.points.sort(function(a, b) {
    return a[0] - b[0];
});

option = {
    legend: {
        data: ['1990', '2015'],
        bottom: 20
    },
    title: {
        text: '1990 and 2015 per capita life expectancy and GDP',
        subtext: 'By ecStat.regression',
        sublink: 'https://github.com/ecomfe/echarts-stat',
        left: 'center'
    },
    tooltip: {
        trigger: 'axis',
        axisPointer: {
            type: 'cross'
        }
    },
    grid: {
        top: 80,
        bottom: 90
    },
    xAxis: {
        type: 'value',
        splitLine: {
            lineStyle: {
                type: 'dashed'
            }
        },
    },
    yAxis: {
        type: 'value',
        splitLine: {
            lineStyle: {
                type: 'dashed'
            }
        },
    },
    series: [{
        name: '1990',
        type: 'scatter',
        symbolSize: function(data) {
            return Math.sqrt(data[2]) / 5e2;
        },
        label: {
            emphasis: {
                show: true,
                formatter: function(param) {
                    return param.data[3];
                },
                position: 'top'
            }
        },
        itemStyle: {
            normal: {
                shadowBlur: 10,
                shadowColor: 'rgba(120, 36, 50, 0.5)',
                shadowOffsetY: 5,
                color: new echarts.graphic.RadialGradient(0.4, 0.3, 1, [{
                    offset: 0,
                    color: 'rgb(251, 118, 123)'
                }, {
                    offset: 1,
                    color: 'rgb(204, 46, 72)'
                }])
            }
        },
        data: data0
    }, {
        name: '2015',
        type: 'scatter',
        symbolSize: function(data) {
            return Math.sqrt(data[2]) / 5e2;
        },
        label: {
            emphasis: {
                show: true,
                formatter: function(param) {
                    return param.data[3];
                },
                position: 'top'
            }
        },
        itemStyle: {
            normal: {
                shadowBlur: 10,
                shadowColor: 'rgba(25, 100, 150, 0.5)',
                shadowOffsetY: 5,
                color: new echarts.graphic.RadialGradient(0.4, 0.3, 1, [{
                    offset: 0,
                    color: 'rgb(129, 227, 238)'
                }, {
                    offset: 1,
                    color: 'rgb(25, 183, 207)'
                }])
            }
        },
        data: data1
    }, {
        name: 'line',
        type: 'line',
        lineStyle: {
            normal: {
                color: '#2f4554'
            }
        },
        smooth: true,
        showSymbol: false,
        data: myRegression.points,
        markPoint: {
            itemStyle: {
                normal: {
                    color: 'transparent'
                }
            },
            label: {
                normal: {
                    show: true,
                    position: 'left',
                    formatter: myRegression.expression,
                    textStyle: {
                        color: '#333',
                        fontSize: 14
                    }
                }
            },
            data: [{
                coord: myRegression.points[myRegression.points.length - 1]
            }]
        }
    }]
};
    charts.setOption(option);
</script>
</html>

如果我数据的修改影响了判断,这里是源码--->Echarts代码源码

4个回答

echarts.js放在哪里了,是本地运行的么?firefox什么版本,换chrome试试看呢

weixin_42693699
枭筱龙 echarts.js和实例在同一个目录底下,firfox是最新版本,Chrome试过了,不可以,也是一片空白。。
一年多之前 回复

应该是echarts版本不对,你换下别的版本看下

https://gallery.echartsjs.com/help.html
你到官方贴下代码试试

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
关于在tab中使用echarts大小为0的问题

小弟最近写一个程序时需要实现一个在tab栏中切换不同的echarts图标的显示问题:在tab栏切换后再切换回来其父盒子div有大小,但是echarts大小为0x0; 同时自己再测了一下,当我跳转到没有echarts的页面再跳转回有echarts的后echarts能正常显示,但是从一个有echarts页面A跳到另一个有echarts的页面B第一次可以成功,但再从B跳会A时,A中其它元素可以正常显示,但是echarts就是显示不出来,已经卡了好几天了,网上的方法也试了一下不知道是不是自己试的方法对不对,拜托各位大神帮忙看看谢谢! ![图片说明](https://img-ask.csdn.net/upload/202003/09/1583726384_608296.png) ![图片说明](https://img-ask.csdn.net/upload/202003/09/1583726395_852700.png) 实现过程是用把echarts放在不同的div中,通过tab按下时捕获的值给current从而让相应的div中的图表显示出来: ``` <div v-if="current === 'month'"> <div class="wrap"> <mpvue-echarts lazyLoad :echarts="echarts" :onInit="handleAccessBarInit" canvasId="accessBarCharts" ref="accessBarCharts" /> </div> <div class="wrap"> <mpvue-echarts lazyLoad :echarts="echarts" :onInit="handleBarInit" ref="barCharts" canvasId="bar" /> </div> <div class="wrap1"> <mpvue-echarts lazyLoad :echarts="echarts" :onInit="handleLineInit" ref="lineCharts" canvasId="line" /> </div> </div> <div v-if="current === 'quarter'"> <div class="wrap"> <mpvue-echarts lazyLoad :echarts="echarts" :onInit="handleAccessBarInit" canvasId="accessBarCharts" ref="accessBarCharts" /> </div> <div class="wrap"> <mpvue-echarts lazyLoad :echarts="echarts" :onInit="handleBarInit" ref="barCharts" canvasId="bar" /> </div> <div class="wrap1"> <mpvue-echarts lazyLoad :echarts="echarts" :onInit="handleLineInit" ref="lineCharts" canvasId="line" /> </div> </div> ``` 当按下了相应的tab后,会调用相应的获取数据函数: ``` // tab栏切换 handleChangeTabbar(e) { this.current = e.target.key; console.log("按下了tab栏"); console.log(this.current); if(this.current=="seven"){this.getChartData(7);} else if(this.current == "month"){ this.getChartData(30);} else if(this.current == "quarter"){this.getChartData(90)} else if(this.current == "halfyear"){this.getChartData(180)} else if(this.current == "year"){this.getChartData(365)} } ``` 在获取数据函数中最后调用了图表的初始化函数init: ``` async getChartData(typeChange) { const body = { stationId: this.stationId, "access-token": this.accessToken, type:typeChange } console.log(body) const resp = await post('/station/data_statistics', body); console.log(resp) const { code, data } = resp; let barXAxisData = []; let barSeriesData = []; let barAccessXAxisData = []; let barAccessSeriesData = []; let lineXAxisData = []; let lineSeriesData = []; let lineAccessSeriesData = []; let lineTotalSeriesData = []; if (code === 200) { console.log(data) let axleTotalNum = 0; let axleAccessNum = 0; let totalNum = 0; let accessNum = 0; // 遍历各车轴总车数 for(var k = 0, length = data.axleTotalNum.length; k < length; k++){ // 分别将对象中数据提到数组中,然后轴数给x轴,将总数给y轴 barXAxisData.push(data.axleTotalNum[k].axle) barSeriesData.push(data.axleTotalNum[k].num) // 把所有车轴的过车数加起来,在左上角显示过车总数 axleTotalNum = axleTotalNum + data.axleTotalNum[k].num } // 遍历各车轴超车数 for(var k = 0, length = data.axleAccessNum.length; k < length; k++){ barAccessXAxisData.push(data.axleAccessNum[k].axle) barAccessSeriesData.push(data.axleAccessNum[k].num) // 把所有车轴的超车数加起来,在右上角显示超车总数 axleAccessNum = axleAccessNum + data.axleAccessNum[k].num } // 遍历7日中各日过车总数 for(var k = 0, length = data.totalNum.length; k < length; k++){ //把日期存进x轴的数组 lineXAxisData.push(data.totalNum[k].day) // 把具体每日数目存进y轴的数组 lineTotalSeriesData.push(data.totalNum[k].num) // 统计的是7日的过车总数,其实与上面的各轴车过车总数结果一样 totalNum = totalNum + data.totalNum[k].num } // 遍历7日中各日超车总数 for(var k = 0, length = data.excessNum.length; k < length; k++){ console.log(k) // 只统计y轴数据即可,因为其与7日过车数在折线图中一起显示,上面已经有x轴 lineAccessSeriesData.push(data.excessNum[k].num) accessNum = accessNum + data.excessNum[k].num } console.log(lineXAxisData,barSeriesData,barAccessXAxisData,barAccessSeriesData,lineXAxisData,lineSeriesData) // 把折线图中的两个y轴数组存到同一个数组中? lineSeriesData.push(lineAccessSeriesData, lineTotalSeriesData); console.log(lineXAxisData) // 其实这4个变量是两两相等的 this.accessNum = accessNum; this.totalNum = totalNum; this.axleTotalNum = axleTotalNum; this.axleAccessNum = axleAccessNum; } console.log(lineXAxisData, lineSeriesData) this.initBarChart(barXAxisData, barSeriesData,typeChange) this.initAccessBarChart(barAccessXAxisData, barAccessSeriesData,typeChange) this.initLineChart(lineXAxisData, lineSeriesData,typeChange) }, ``` 图表初始函数如下,其中写明了一些图表基础设置并进行setoption: ``` initBarChart(xAxisData, seriesData,typeChange) { if(typeChange==7){ this.barOption = { title: { text: "近七日过车车型", textStyle: { fontSize: 14 }, left: 'center' }, legend: { right: '14', data: [{name:'车轴数'}] }, grid: { left: 10, right: 20, bottom: 15, top: 30, containLabel: true }, color: ['#2d8cf0', '#19be6b', '#ff9900'], xAxis: { type: 'category', data: xAxisData, }, yAxis: { type: 'value', axisLine: { lineStyle: { color: '#999' } }, axisLabel: { color: '#666' } }, series:[{ type: 'bar', name: '车轴数', label: { normal: { show: true, position: 'inside' } }, data: seriesData }] } } else if(typeChange==30){ this.barOption = { title: { text: "近一月过车车型", textStyle: { fontSize: 14 }, left: 'center' }, legend: { right: '14', data: [{name:'车轴数'}] }, grid: { left: 10, right: 20, bottom: 15, top: 30, containLabel: true }, color: ['#2d8cf0', '#19be6b', '#ff9900'], xAxis: { type: 'category', data: xAxisData, }, yAxis: { type: 'value', axisLine: { lineStyle: { color: '#999' } }, axisLabel: { color: '#666' } }, series:[{ type: 'bar', name: '车轴数', label: { normal: { show: true, position: 'inside' } }, data: seriesData }] } }else if(typeChange==90){ this.barOption = { title: { text: "近一季过车车型", textStyle: { fontSize: 14 }, left: 'center' }, legend: { right: '14', data: [{name:'车轴数'}] }, grid: { left: 10, right: 20, bottom: 15, top: 30, containLabel: true }, color: ['#2d8cf0', '#19be6b', '#ff9900'], xAxis: { type: 'category', data: xAxisData, }, yAxis: { type: 'value', axisLine: { lineStyle: { color: '#999' } }, axisLabel: { color: '#666' } }, series:[{ type: 'bar', name: '车轴数', label: { normal: { show: true, position: 'inside' } }, data: seriesData }] } }else if(typeChange==180){ this.barOption = { title: { text: "近半年过车车型", textStyle: { fontSize: 14 }, left: 'center' }, legend: { right: '14', data: [{name:'车轴数'}] }, grid: { left: 10, right: 20, bottom: 15, top: 30, containLabel: true }, color: ['#2d8cf0', '#19be6b', '#ff9900'], xAxis: { type: 'category', data: xAxisData, }, yAxis: { type: 'value', axisLine: { lineStyle: { color: '#999' } }, axisLabel: { color: '#666' } }, series:[{ type: 'bar', name: '车轴数', label: { normal: { show: true, position: 'inside' } }, data: seriesData }] } } this.$refs.barCharts.init() }, ``` 最后再于图表的html部分中绑定了下面函数进行渲染: ``` handleBarInit (canvas, width, height) { console.log("打印表2宽高"); console.log(this.wdith); console.log(this.height); barChart = echarts.init(canvas, null, { width: width, height: height, }) canvas.setChart(barChart) barChart.setOption(this.barOption,true) return barChart }, ``` 最后附上该页面完整代码,请大家帮忙看看谢谢~ ``` <template> <div class="historyContainer"> <div v-if="current === 'seven'"> <i-row> <i-col span="8" offset="2" i-class="col-class"> <div class="headerCard"> <h4>近七日过车数:</h4> <p>{{totalNum}}</p> </div> </i-col> <i-col span="8" offset="4" i-class="col-class"> <div class="headerCard"> <h4>近七日超车数:</h4> <p>{{accessNum}}</p> </div> </i-col> </i-row> <div class="wrap"> <mpvue-echarts lazyLoad :echarts="echarts" :onInit="handleAccessBarInit" canvasId="accessBarCharts" ref="accessBarCharts" /> </div> <div class="wrap"> <mpvue-echarts lazyLoad :echarts="echarts" :onInit="handleBarInit" ref="barCharts" canvasId="bar" /> </div> <div class="wrap1"> <mpvue-echarts lazyLoad :echarts="echarts" :onInit="handleLineInit" ref="lineCharts" canvasId="line" /> </div> </div> <div v-if="current === 'month'"> <i-row> <i-col span="8" offset="2" i-class="col-class"> <div class="headerCard"> <h4>近一月过车数:</h4> <p>{{totalNum}}</p> </div> </i-col> <i-col span="8" offset="4" i-class="col-class"> <div class="headerCard"> <h4>近一月超车数:</h4> <p>{{accessNum}}</p> </div> </i-col> </i-row> <div class="wrap"> <mpvue-echarts lazyLoad :echarts="echarts" :onInit="handleAccessBarInit" canvasId="accessBarCharts" ref="accessBarCharts" /> </div> <div class="wrap"> <mpvue-echarts lazyLoad :echarts="echarts" :onInit="handleBarInit" ref="barCharts" canvasId="bar" /> </div> <div class="wrap1"> <mpvue-echarts lazyLoad :echarts="echarts" :onInit="handleLineInit" ref="lineCharts" canvasId="line" /> </div> </div> <div v-if="current === 'quarter'"> <i-row> <i-col span="8" offset="2" i-class="col-class"> <div class="headerCard"> <h4>近一季过车数:</h4> <p>{{totalNum}}</p> </div> </i-col> <i-col span="8" offset="4" i-class="col-class"> <div class="headerCard"> <h4>近一季超车数:</h4> <p>{{accessNum}}</p> </div> </i-col> </i-row> <div class="wrap"> <mpvue-echarts lazyLoad :echarts="echarts" :onInit="handleAccessBarInit" canvasId="accessBarCharts" ref="accessBarCharts" /> </div> <div class="wrap"> <mpvue-echarts lazyLoad :echarts="echarts" :onInit="handleBarInit" ref="barCharts" canvasId="bar" /> </div> <div class="wrap1"> <mpvue-echarts lazyLoad :echarts="echarts" :onInit="handleLineInit" ref="lineCharts" canvasId="line" /> </div> </div> <div v-if="current === 'halfyear'"> <i-row> <i-col span="8" offset="2" i-class="col-class"> <div class="headerCard"> <h4>近半年过车数:</h4> <p>{{totalNum}}</p> </div> </i-col> <i-col span="8" offset="4" i-class="col-class"> <div class="headerCard"> <h4>近半年超车数:</h4> <p>{{accessNum}}</p> </div> </i-col> </i-row> <div class="wrap"> <mpvue-echarts lazyLoad :echarts="echarts" :onInit="handleAccessBarInit" canvasId="accessBarCharts" ref="accessBarCharts" /> </div> <div class="wrap"> <mpvue-echarts lazyLoad :echarts="echarts" :onInit="handleBarInit" ref="barCharts" canvasId="bar" /> </div> <div class="wrap1"> <mpvue-echarts lazyLoad :echarts="echarts" :onInit="handleLineInit" ref="lineCharts" canvasId="line" /> </div> </div> <div v-if="current === 'year'"> 这是一年 </div> <i-tab-bar fixed="true" :current="current" @change="handleChangeTabbar"> <i-tab-bar-item key="seven" icon="computer" current-icon="computer_fill" title="近一周"></i-tab-bar-item> <i-tab-bar-item key="month" icon="dynamic" current-icon="dynamic_fill" title="近一月"></i-tab-bar-item> <i-tab-bar-item key="quarter" icon="addressbook" current-icon="addressbook_fill" title="近一季"></i-tab-bar-item> <i-tab-bar-item key="halfyear" icon="setup" current-icon="setup_fill" title="近半年"></i-tab-bar-item> <i-tab-bar-item key="year" icon="mine" current-icon="mine_fill" title="近一年"></i-tab-bar-item> </i-tab-bar> </div> </template> <script> import echarts from 'echarts' import mpvueEcharts from 'mpvue-echarts'; import { post } from '@/api/request.js'; let barChart, accessBarChart, lineChart; export default { onLoad(options) { const { stationId, accessToken } = options; this.stationId = stationId; this.accessToken = accessToken; }, data() { return { current:'seven', stationId: '', accessToken: '', echarts, totalNum: 0, accessNum: 0, axleTotalNum: 0, axleAccessNum: 0, // type:7,//暂时默认七天 barOption: null, accessBarOption: null, lineOption: null } }, components: { mpvueEcharts }, mounted() { this.getChartData(7); }, methods: { initBarChart(xAxisData, seriesData,typeChange) { if(typeChange==7){ this.barOption = { title: { text: "近七日过车车型", textStyle: { fontSize: 14 }, left: 'center' }, legend: { right: '14', data: [{name:'车轴数'}] }, grid: { left: 10, right: 20, bottom: 15, top: 30, containLabel: true }, color: ['#2d8cf0', '#19be6b', '#ff9900'], xAxis: { type: 'category', data: xAxisData, }, yAxis: { type: 'value', axisLine: { lineStyle: { color: '#999' } }, axisLabel: { color: '#666' } }, series:[{ type: 'bar', name: '车轴数', label: { normal: { show: true, position: 'inside' } }, data: seriesData }] } } else if(typeChange==30){ this.barOption = { title: { text: "近一月过车车型", textStyle: { fontSize: 14 }, left: 'center' }, legend: { right: '14', data: [{name:'车轴数'}] }, grid: { left: 10, right: 20, bottom: 15, top: 30, containLabel: true }, color: ['#2d8cf0', '#19be6b', '#ff9900'], xAxis: { type: 'category', data: xAxisData, }, yAxis: { type: 'value', axisLine: { lineStyle: { color: '#999' } }, axisLabel: { color: '#666' } }, series:[{ type: 'bar', name: '车轴数', label: { normal: { show: true, position: 'inside' } }, data: seriesData }] } }else if(typeChange==90){ this.barOption = { title: { text: "近一季过车车型", textStyle: { fontSize: 14 }, left: 'center' }, legend: { right: '14', data: [{name:'车轴数'}] }, grid: { left: 10, right: 20, bottom: 15, top: 30, containLabel: true }, color: ['#2d8cf0', '#19be6b', '#ff9900'], xAxis: { type: 'category', data: xAxisData, }, yAxis: { type: 'value', axisLine: { lineStyle: { color: '#999' } }, axisLabel: { color: '#666' } }, series:[{ type: 'bar', name: '车轴数', label: { normal: { show: true, position: 'inside' } }, data: seriesData }] } }else if(typeChange==180){ this.barOption = { title: { text: "近半年过车车型", textStyle: { fontSize: 14 }, left: 'center' }, legend: { right: '14', data: [{name:'车轴数'}] }, grid: { left: 10, right: 20, bottom: 15, top: 30, containLabel: true }, color: ['#2d8cf0', '#19be6b', '#ff9900'], xAxis: { type: 'category', data: xAxisData, }, yAxis: { type: 'value', axisLine: { lineStyle: { color: '#999' } }, axisLabel: { color: '#666' } }, series:[{ type: 'bar', name: '车轴数', label: { normal: { show: true, position: 'inside' } }, data: seriesData }] } } this.$refs.barCharts.init() }, handleBarInit (canvas, width, height) { console.log("打印表2宽高"); console.log(this.wdith); console.log(this.height); barChart = echarts.init(canvas, null, { width: width, height: height, }) canvas.setChart(barChart) barChart.setOption(this.barOption,true) return barChart }, initAccessBarChart(xAxisData, seriesData,typeChange) { if(typeChange==7){ this.accessBarOption = { title: { text: "近七日超车车型", textStyle: { fontSize: 14 }, left: 'center' }, legend: { right: '14', data: [{name:'车轴数'}] }, grid: { left: 10, right: 20, bottom: 15, top: 30, containLabel: true }, color: ['#5cadff', '#19be6b', '#ff9900'], xAxis: { type: 'category', data: xAxisData, }, yAxis: { type: 'value', axisLine: { lineStyle: { color: '#999' } }, axisLabel: { color: '#666' } }, series:[{ type: 'bar', name: '车轴数', label: { normal: { show: true, position: 'inside' } }, data: seriesData }] } } else if(typeChange==30){ this.accessBarOption = { title: { text: "近一月超车车型", textStyle: { fontSize: 14 }, left: 'center' }, legend: { right: '14', data: [{name:'车轴数'}] }, grid: { left: 10, right: 20, bottom: 15, top: 30, containLabel: true }, color: ['#5cadff', '#19be6b', '#ff9900'], xAxis: { type: 'category', data: xAxisData, }, yAxis: { type: 'value', axisLine: { lineStyle: { color: '#999' } }, axisLabel: { color: '#666' } }, series:[{ type: 'bar', name: '车轴数', label: { normal: { show: true, position: 'inside' } }, data: seriesData }] } }else if(typeChange==90){ this.accessBarOption = { title: { text: "近一季超车车型", textStyle: { fontSize: 14 }, left: 'center' }, legend: { right: '14', data: [{name:'车轴数'}] }, grid: { left: 10, right: 20, bottom: 15, top: 30, containLabel: true }, color: ['#5cadff', '#19be6b', '#ff9900'], xAxis: { type: 'category', data: xAxisData, }, yAxis: { type: 'value', axisLine: { lineStyle: { color: '#999' } }, axisLabel: { color: '#666' } }, series:[{ type: 'bar', name: '车轴数', label: { normal: { show: true, position: 'inside' } }, data: seriesData }] } }else if(typeChange==180){ this.accessBarOption = { title: { text: "近半年超车车型", textStyle: { fontSize: 14 }, left: 'center' }, legend: { right: '14', data: [{name:'车轴数'}] }, grid: { left: 10, right: 20, bottom: 15, top: 30, containLabel: true }, color: ['#5cadff', '#19be6b', '#ff9900'], xAxis: { type: 'category', data: xAxisData, }, yAxis: { type: 'value', axisLine: { lineStyle: { color: '#999' } }, axisLabel: { color: '#666' } }, series:[{ type: 'bar', name: '车轴数', label: { normal: { show: true, position: 'inside' } }, data: seriesData }] } } this.$refs.accessBarCharts.init() }, handleAccessBarInit (canvas, width, height) { console.log("打印表1宽高"); console.log(this.wdith); console.log(this.height); accessBarChart = echarts.init(canvas, null, { width: width, height: height }) canvas.setChart(accessBarChart) accessBarChart.setOption(this.accessBarOption,true) return accessBarChart }, initLineChart(xAxisData, seriesData,typeChange) { if(typeChange==7){ this.lineOption = { title: { text: "近7日车流量和超车数", textStyle: { fontSize: 14 }, left: 'center' }, tooltip: { show: true, trigger: 'axis', formatter: '日期:{b}\n{a0}: {c1}\n{a1}: {c0}' }, legend: { right: '14', orient: 'vertical', data: [{name:'总数'},{name:"超载数"}] }, grid: { left: 10, right: 20, bottom: 15, top: 50, containLabel: true }, color: ['#5cadff', '#ff9900'], xAxis: { data: xAxisData, triggerEvent : true }, yAxis: { type: 'value', axisLine: { lineStyle: { color: '#999' } }, axisLabel: { color: '#666' } }, series:[{ type: 'line', name: '超载数', data: seriesData[0] },{ type: 'line', name: '总数', data: seriesData[1] }] } } else if(typeChange==30){ this.lineOption = { title: { text: "近一月车流量和超车数", textStyle: { fontSize: 14 }, left: 'center' }, tooltip: { show: true, trigger: 'axis', formatter: '日期:{b}\n{a0}: {c1}\n{a1}: {c0}' }, legend: { right: '14', orient: 'vertical', data: [{name:'总数'},{name:"超载数"}] }, grid: { left: 10, right: 20, bottom: 15, top: 50, containLabel: true }, color: ['#5cadff', '#ff9900'], xAxis: { data: xAxisData, triggerEvent : true }, yAxis: { type: 'value', axisLine: { lineStyle: { color: '#999' } }, axisLabel: { color: '#666' } }, series:[{ type: 'line', name: '超载数', data: seriesData[0] },{ type: 'line', name: '总数', data: seriesData[1] }] } } else if(typeChange==90){ this.lineOption = { title: { text: "近一季车流量和超车数", textStyle: { fontSize: 14 }, left: 'center' }, tooltip: { show: true, trigger: 'axis', formatter: '日期:{b}\n{a0}: {c1}\n{a1}: {c0}' }, legend: { right: '14', orient: 'vertical', data: [{name:'总数'},{name:"超载数"}] }, grid: { left: 10, right: 20, bottom: 15, top: 50, containLabel: true }, color: ['#5cadff', '#ff9900'], xAxis: { data: xAxisData, triggerEvent : true }, yAxis: { type: 'value', axisLine: { lineStyle: { color: '#999' } }, axisLabel: { color: '#666' } }, series:[{ type: 'line', name: '超载数', data: seriesData[0] },{ type: 'line', name: '总数', data: seriesData[1] }] } } else if(typeChange==180){ this.lineOption = { title: { text: "近半年车流量和超车数", textStyle: { fontSize: 14 }, left: 'center' }, tooltip: { show: true, trigger: 'axis', formatter: '日期:{b}\n{a0}: {c1}\n{a1}: {c0}' }, legend: { right: '14', orient: 'vertical', data: [{name:'总数'},{name:"超载数"}] }, grid: { left: 10, right: 20, bottom: 15, top: 50, containLabel: true }, color: ['#5cadff', '#ff9900'], xAxis: { data: xAxisData, triggerEvent : true }, yAxis: { type: 'value', axisLine: { lineStyle: { color: '#999' } }, axisLabel: { color: '#666' } }, series:[{ type: 'line', name: '超载数', data: seriesData[0] },{ type: 'line', name: '总数', data: seriesData[1] }] } } this.$refs.lineCharts.init() }, handleLineInit (canvas, width, height) { console.log("打印表3宽高"); console.log(this.wdith); console.log(this.height); lineChart = echarts.init(canvas, null, { width: width, height: height }) canvas.setChart(lineChart) lineChart.setOption(this.lineOption,true) return lineChart }, async getChartData(typeChange) { const body = { stationId: this.stationId, "access-token": this.accessToken, type:typeChange } console.log(body) const resp = await post('/station/data_statistics', body); console.log(resp) const { code, data } = resp; let barXAxisData = []; let barSeriesData = []; let barAccessXAxisData = []; let barAccessSeriesData = []; let lineXAxisData = []; let lineSeriesData = []; let lineAccessSeriesData = []; let lineTotalSeriesData = []; if (code === 200) { console.log(data) let axleTotalNum = 0; let axleAccessNum = 0; let totalNum = 0; let accessNum = 0; // 遍历各车轴总车数 for(var k = 0, length = data.axleTotalNum.length; k < length; k++){ // 分别将对象中数据提到数组中,然后轴数给x轴,将总数给y轴 barXAxisData.push(data.axleTotalNum[k].axle) barSeriesData.push(data.axleTotalNum[k].num) // 把所有车轴的过车数加起来,在左上角显示过车总数 axleTotalNum = axleTotalNum + data.axleTotalNum[k].num } // 遍历各车轴超车数 for(var k = 0, length = data.axleAccessNum.length; k < length; k++){ barAccessXAxisData.push(data.axleAccessNum[k].axle) barAccessSeriesData.push(data.axleAccessNum[k].num) // 把所有车轴的超车数加起来,在右上角显示超车总数 axleAccessNum = axleAccessNum + data.axleAccessNum[k].num } // 遍历7日中各日过车总数 for(var k = 0, length = data.totalNum.length; k < length; k++){ //把日期存进x轴的数组 lineXAxisData.push(data.totalNum[k].day) // 把具体每日数目存进y轴的数组 lineTotalSeriesData.push(data.totalNum[k].num) // 统计的是7日的过车总数,其实与上面的各轴车过车总数结果一样 totalNum = totalNum + data.totalNum[k].num } // 遍历7日中各日超车总数 for(var k = 0, length = data.excessNum.length; k < length; k++){ console.log(k) // 只统计y轴数据即可,因为其与7日过车数在折线图中一起显示,上面已经有x轴 lineAccessSeriesData.push(data.excessNum[k].num) accessNum = accessNum + data.excessNum[k].num } console.log(lineXAxisData,barSeriesData,barAccessXAxisData,barAccessSeriesData,lineXAxisData,lineSeriesData) // 把折线图中的两个y轴数组存到同一个数组中? lineSeriesData.push(lineAccessSeriesData, lineTotalSeriesData); console.log(lineXAxisData) // 其实这4个变量是两两相等的 this.accessNum = accessNum; this.totalNum = totalNum; this.axleTotalNum = axleTotalNum; this.axleAccessNum = axleAccessNum; } console.log(lineXAxisData, lineSeriesData) this.initBarChart(barXAxisData, barSeriesData,typeChange) this.initAccessBarChart(barAccessXAxisData, barAccessSeriesData,typeChange) this.initLineChart(lineXAxisData, lineSeriesData,typeChange) }, // tab栏切换 handleChangeTabbar(e) { this.current = e.target.key; console.log("按下了tab栏"); console.log(this.current); if(this.current=="seven"){this.getChartData(7);} else if(this.current == "month"){ this.getChartData(30);} else if(this.current == "quarter"){this.getChartData(90)} else if(this.current == "halfyear"){this.getChartData(180)} else if(this.current == "year"){this.getChartData(365)} } } } </script> <style> .historyContainer{ width: 100%; height: 100%; } .headerCard{ display: flex; justify-content: center; align-items: center; flex-direction: column; width: 100%; height: 30px; border: 1px solid #ccc; margin-top: 10px; padding-top: 10px; padding-bottom: 10px; font-size: 14px; } .wrap{ margin-top: 20px; /* width:100%; */ width: 380px; height: 400px; } .wrap1{ margin-top: 20px; /* width:100%; */ width: 380px; height: 400px; margin-bottom: 50px } </style> ```

echarts地图控件官方实例如何调用 显示地图

//问题描述: 调用了官网提供的地址但是就是不显示地图 //官网地址: https://www.echartsjs.com/examples/zh/editor.html?c=effectScatter-bmap //截图 ![图片说明](https://img-ask.csdn.net/upload/201910/17/1571241681_595745.jpg) //代码展示 ``` <script src="pcManager/dist/echarts.js"></script> <!-- 引入 vintage 主题 --> <script src="pcManager/theme/vintage.js"></script> <script> // 第二个参数可以指定前面引入的主题 var chart = echarts.init(document.getElementById('main'), 'vintage'); chart.setOption({ //把官网提供的option套进去 ... }); </script> ``` //目前显示的界面没有地图 ![图片说明](https://img-ask.csdn.net/upload/201910/17/1571241856_441443.jpg) //由于数据太多 把我的主要代码结构粘出来 ``` <head> <%--引入echarts控件--%> <script src="/erzhentang/FR-LIB/incubator-echarts-4.4.0/dist/echarts.js"></script> <!-- 引入 vintage 主题 --> <script src="/erzhentang/FR-LIB/incubator-echarts-4.4.0/theme/vintage.js"></script> <div id="dv_area" style="width: 800px;height:600px;"></div> <script type="text/javascript"> </head> <body> var myChart1 = echarts.init(document.getElementById('dv_area'),'vintage'); var data = [ {name: '海门', value: 9}, {name: '鄂尔多斯', value: 12}, {name: '招远', value: 12}, {name: '舟山', value: 12}, {name: '齐齐哈尔', value: 14}, {name: '盐城', value: 15}, {name: '赤峰', value: 16}, {name: '青岛', value: 18}, {name: '乳山', value: 18}, {name: '金昌', value: 19}, {name: '泉州', value: 21}, {name: '莱西', value: 21}, {name: '日照', value: 21}, {name: '胶南', value: 22}, {name: '南通', value: 23}, {name: '拉萨', value: 24}, {name: '云浮', value: 24}, {name: '梅州', value: 25}, {name: '文登', value: 25}, {name: '上海', value: 25}, {name: '攀枝花', value: 25}, {name: '威海', value: 25}, {name: '承德', value: 25}, {name: '厦门', value: 26}, {name: '汕尾', value: 26}, {name: '潮州', value: 26}, {name: '丹东', value: 27}, {name: '太仓', value: 27}, {name: '曲靖', value: 27}, {name: '烟台', value: 28}, {name: '福州', value: 29}, {name: '瓦房店', value: 30}, {name: '即墨', value: 30}, {name: '抚顺', value: 31}, {name: '玉溪', value: 31}, {name: '张家口', value: 31}, {name: '阳泉', value: 31}, {name: '莱州', value: 32}, {name: '湖州', value: 32}, {name: '汕头', value: 32}, {name: '昆山', value: 33}, {name: '宁波', value: 33}, {name: '湛江', value: 33}, {name: '揭阳', value: 34}, {name: '荣成', value: 34}, {name: '连云港', value: 35}, {name: '葫芦岛', value: 35}, {name: '常熟', value: 36}, {name: '东莞', value: 36}, {name: '河源', value: 36}, {name: '淮安', value: 36}, {name: '泰州', value: 36}, {name: '南宁', value: 37}, {name: '营口', value: 37}, {name: '惠州', value: 37}, {name: '江阴', value: 37}, {name: '蓬莱', value: 37}, {name: '韶关', value: 38}, {name: '嘉峪关', value: 38}, {name: '广州', value: 38}, {name: '延安', value: 38}, {name: '太原', value: 39}, {name: '清远', value: 39}, {name: '中山', value: 39}, {name: '昆明', value: 39}, {name: '寿光', value: 40}, {name: '盘锦', value: 40}, {name: '长治', value: 41}, {name: '深圳', value: 41}, {name: '珠海', value: 42}, {name: '宿迁', value: 43}, {name: '咸阳', value: 43}, {name: '铜川', value: 44}, {name: '平度', value: 44}, {name: '佛山', value: 44}, {name: '海口', value: 44}, {name: '江门', value: 45}, {name: '章丘', value: 45}, {name: '肇庆', value: 46}, {name: '大连', value: 47}, {name: '临汾', value: 47}, {name: '吴江', value: 47}, {name: '石嘴山', value: 49}, {name: '沈阳', value: 50}, {name: '苏州', value: 50}, {name: '茂名', value: 50}, {name: '嘉兴', value: 51}, {name: '长春', value: 51}, {name: '胶州', value: 52}, {name: '银川', value: 52}, {name: '张家港', value: 52}, {name: '三门峡', value: 53}, {name: '锦州', value: 54}, {name: '南昌', value: 54}, {name: '柳州', value: 54}, {name: '三亚', value: 54}, {name: '自贡', value: 56}, {name: '吉林', value: 56}, {name: '阳江', value: 57}, {name: '泸州', value: 57}, {name: '西宁', value: 57}, {name: '宜宾', value: 58}, {name: '呼和浩特', value: 58}, {name: '成都', value: 58}, {name: '大同', value: 58}, {name: '镇江', value: 59}, {name: '桂林', value: 59}, {name: '张家界', value: 59}, {name: '宜兴', value: 59}, {name: '北海', value: 60}, {name: '西安', value: 61}, {name: '金坛', value: 62}, {name: '东营', value: 62}, {name: '牡丹江', value: 63}, {name: '遵义', value: 63}, {name: '绍兴', value: 63}, {name: '扬州', value: 64}, {name: '常州', value: 64}, {name: '潍坊', value: 65}, {name: '重庆', value: 66}, {name: '台州', value: 67}, {name: '南京', value: 67}, {name: '滨州', value: 70}, {name: '贵阳', value: 71}, {name: '无锡', value: 71}, {name: '本溪', value: 71}, {name: '克拉玛依', value: 72}, {name: '渭南', value: 72}, {name: '马鞍山', value: 72}, {name: '宝鸡', value: 72}, {name: '焦作', value: 75}, {name: '句容', value: 75}, {name: '北京', value: 79}, {name: '徐州', value: 79}, {name: '衡水', value: 80}, {name: '包头', value: 80}, {name: '绵阳', value: 80}, {name: '乌鲁木齐', value: 84}, {name: '枣庄', value: 84}, {name: '杭州', value: 84}, {name: '淄博', value: 85}, {name: '鞍山', value: 86}, {name: '溧阳', value: 86}, {name: '库尔勒', value: 86}, {name: '安阳', value: 90}, {name: '开封', value: 90}, {name: '济南', value: 92}, {name: '德阳', value: 93}, {name: '温州', value: 95}, {name: '九江', value: 96}, {name: '邯郸', value: 98}, {name: '临安', value: 99}, {name: '兰州', value: 99}, {name: '沧州', value: 100}, {name: '临沂', value: 103}, {name: '南充', value: 104}, {name: '天津', value: 105}, {name: '富阳', value: 106}, {name: '泰安', value: 112}, {name: '诸暨', value: 112}, {name: '郑州', value: 113}, {name: '哈尔滨', value: 114}, {name: '聊城', value: 116}, {name: '芜湖', value: 117}, {name: '唐山', value: 119}, {name: '平顶山', value: 119}, {name: '邢台', value: 119}, {name: '德州', value: 120}, {name: '济宁', value: 120}, {name: '荆州', value: 127}, {name: '宜昌', value: 130}, {name: '义乌', value: 132}, {name: '丽水', value: 133}, {name: '洛阳', value: 134}, {name: '秦皇岛', value: 136}, {name: '株洲', value: 143}, {name: '石家庄', value: 147}, {name: '莱芜', value: 148}, {name: '常德', value: 152}, {name: '保定', value: 153}, {name: '湘潭', value: 154}, {name: '金华', value: 157}, {name: '岳阳', value: 169}, {name: '长沙', value: 175}, {name: '衢州', value: 177}, {name: '廊坊', value: 193}, {name: '菏泽', value: 194}, {name: '合肥', value: 229}, {name: '武汉', value: 273}, {name: '大庆', value: 279} ]; var geoCoordMap = { '海门': [121.15, 31.89], '鄂尔多斯': [109.781327, 39.608266], '招远': [120.38, 37.35], '舟山': [122.207216, 29.985295], '齐齐哈尔': [123.97, 47.33], '盐城': [120.13, 33.38], '赤峰': [118.87, 42.28], '青岛': [120.33, 36.07], '乳山': [121.52, 36.89], '金昌': [102.188043, 38.520089], '泉州': [118.58, 24.93], '莱西': [120.53, 36.86], '日照': [119.46, 35.42], '胶南': [119.97, 35.88], '南通': [121.05, 32.08], '拉萨': [91.11, 29.97], '云浮': [112.02, 22.93], '梅州': [116.1, 24.55], '文登': [122.05, 37.2], '上海': [121.48, 31.22], '攀枝花': [101.718637, 26.582347], '威海': [122.1, 37.5], '承德': [117.93, 40.97], '厦门': [118.1, 24.46], '汕尾': [115.375279, 22.786211], '潮州': [116.63, 23.68], '丹东': [124.37, 40.13], '太仓': [121.1, 31.45], '曲靖': [103.79, 25.51], '烟台': [121.39, 37.52], '福州': [119.3, 26.08], '瓦房店': [121.979603, 39.627114], '即墨': [120.45, 36.38], '抚顺': [123.97, 41.97], '玉溪': [102.52, 24.35], '张家口': [114.87, 40.82], '阳泉': [113.57, 37.85], '莱州': [119.942327, 37.177017], '湖州': [120.1, 30.86], '汕头': [116.69, 23.39], '昆山': [120.95, 31.39], '宁波': [121.56, 29.86], '湛江': [110.359377, 21.270708], '揭阳': [116.35, 23.55], '荣成': [122.41, 37.16], '连云港': [119.16, 34.59], '葫芦岛': [120.836932, 40.711052], '常熟': [120.74, 31.64], '东莞': [113.75, 23.04], '河源': [114.68, 23.73], '淮安': [119.15, 33.5], '泰州': [119.9, 32.49], '南宁': [108.33, 22.84], '营口': [122.18, 40.65], '惠州': [114.4, 23.09], '江阴': [120.26, 31.91], '蓬莱': [120.75, 37.8], '韶关': [113.62, 24.84], '嘉峪关': [98.289152, 39.77313], '广州': [113.23, 23.16], '延安': [109.47, 36.6], '太原': [112.53, 37.87], '清远': [113.01, 23.7], '中山': [113.38, 22.52], '昆明': [102.73, 25.04], '寿光': [118.73, 36.86], '盘锦': [122.070714, 41.119997], '长治': [113.08, 36.18], '深圳': [114.07, 22.62], '珠海': [113.52, 22.3], '宿迁': [118.3, 33.96], '咸阳': [108.72, 34.36], '铜川': [109.11, 35.09], '平度': [119.97, 36.77], '佛山': [113.11, 23.05], '海口': [110.35, 20.02], '江门': [113.06, 22.61], '章丘': [117.53, 36.72], '肇庆': [112.44, 23.05], '大连': [121.62, 38.92], '临汾': [111.5, 36.08], '吴江': [120.63, 31.16], '石嘴山': [106.39, 39.04], '沈阳': [123.38, 41.8], '苏州': [120.62, 31.32], '茂名': [110.88, 21.68], '嘉兴': [120.76, 30.77], '长春': [125.35, 43.88], '胶州': [120.03336, 36.264622], '银川': [106.27, 38.47], '张家港': [120.555821, 31.875428], '三门峡': [111.19, 34.76], '锦州': [121.15, 41.13], '南昌': [115.89, 28.68], '柳州': [109.4, 24.33], '三亚': [109.511909, 18.252847], '自贡': [104.778442, 29.33903], '吉林': [126.57, 43.87], '阳江': [111.95, 21.85], '泸州': [105.39, 28.91], '西宁': [101.74, 36.56], '宜宾': [104.56, 29.77], '呼和浩特': [111.65, 40.82], '成都': [104.06, 30.67], '大同': [113.3, 40.12], '镇江': [119.44, 32.2], '桂林': [110.28, 25.29], '张家界': [110.479191, 29.117096], '宜兴': [119.82, 31.36], '北海': [109.12, 21.49], '西安': [108.95, 34.27], '金坛': [119.56, 31.74], '东营': [118.49, 37.46], '牡丹江': [129.58, 44.6], '遵义': [106.9, 27.7], '绍兴': [120.58, 30.01], '扬州': [119.42, 32.39], '常州': [119.95, 31.79], '潍坊': [119.1, 36.62], '重庆': [106.54, 29.59], '台州': [121.420757, 28.656386], '南京': [118.78, 32.04], '滨州': [118.03, 37.36], '贵阳': [106.71, 26.57], '无锡': [120.29, 31.59], '本溪': [123.73, 41.3], '克拉玛依': [84.77, 45.59], '渭南': [109.5, 34.52], '马鞍山': [118.48, 31.56], '宝鸡': [107.15, 34.38], '焦作': [113.21, 35.24], '句容': [119.16, 31.95], '北京': [116.46, 39.92], '徐州': [117.2, 34.26], '衡水': [115.72, 37.72], '包头': [110, 40.58], '绵阳': [104.73, 31.48], '乌鲁木齐': [87.68, 43.77], '枣庄': [117.57, 34.86], '杭州': [120.19, 30.26], '淄博': [118.05, 36.78], '鞍山': [122.85, 41.12], '溧阳': [119.48, 31.43], '库尔勒': [86.06, 41.68], '安阳': [114.35, 36.1], '开封': [114.35, 34.79], '济南': [117, 36.65], '德阳': [104.37, 31.13], '温州': [120.65, 28.01], '九江': [115.97, 29.71], '邯郸': [114.47, 36.6], '临安': [119.72, 30.23], '兰州': [103.73, 36.03], '沧州': [116.83, 38.33], '临沂': [118.35, 35.05], '南充': [106.110698, 30.837793], '天津': [117.2, 39.13], '富阳': [119.95, 30.07], '泰安': [117.13, 36.18], '诸暨': [120.23, 29.71], '郑州': [113.65, 34.76], '哈尔滨': [126.63, 45.75], '聊城': [115.97, 36.45], '芜湖': [118.38, 31.33], '唐山': [118.02, 39.63], '平顶山': [113.29, 33.75], '邢台': [114.48, 37.05], '德州': [116.29, 37.45], '济宁': [116.59, 35.38], '荆州': [112.239741, 30.335165], '宜昌': [111.3, 30.7], '义乌': [120.06, 29.32], '丽水': [119.92, 28.45], '洛阳': [112.44, 34.7], '秦皇岛': [119.57, 39.95], '株洲': [113.16, 27.83], '石家庄': [114.48, 38.03], '莱芜': [117.67, 36.19], '常德': [111.69, 29.05], '保定': [115.48, 38.85], '湘潭': [112.91, 27.87], '金华': [119.64, 29.12], '岳阳': [113.09, 29.37], '长沙': [113, 28.21], '衢州': [118.88, 28.97], '廊坊': [116.7, 39.53], '菏泽': [115.480656, 35.23375], '合肥': [117.27, 31.86], '武汉': [114.31, 30.52], '大庆': [125.03, 46.58] }; var convertData = function (data) { var res = []; for (var i = 0; i < data.length; i++) { var geoCoord = geoCoordMap[data[i].name]; if (geoCoord) { res.push({ name: data[i].name, value: geoCoord.concat(data[i].value) }); } } return res; }; option = { title: { text: '全国主要城市空气质量 - 百度地图', subtext: 'data from PM25.in', sublink: 'http://www.pm25.in', left: 'center' }, tooltip: { trigger: 'item' }, bmap: { center: [104.114129, 37.550339], zoom: 5, roam: true, mapStyle: { styleJson: [{ 'featureType': 'water', 'elementType': 'all', 'stylers': { 'color': '#d1d1d1' } }, { 'featureType': 'land', 'elementType': 'all', 'stylers': { 'color': '#f3f3f3' } }, { 'featureType': 'railway', 'elementType': 'all', 'stylers': { 'visibility': 'off' } }, { 'featureType': 'highway', 'elementType': 'all', 'stylers': { 'color': '#fdfdfd' } }, { 'featureType': 'highway', 'elementType': 'labels', 'stylers': { 'visibility': 'off' } }, { 'featureType': 'arterial', 'elementType': 'geometry', 'stylers': { 'color': '#fefefe' } }, { 'featureType': 'arterial', 'elementType': 'geometry.fill', 'stylers': { 'color': '#fefefe' } }, { 'featureType': 'poi', 'elementType': 'all', 'stylers': { 'visibility': 'off' } }, { 'featureType': 'green', 'elementType': 'all', 'stylers': { 'visibility': 'off' } }, { 'featureType': 'subway', 'elementType': 'all', 'stylers': { 'visibility': 'off' } }, { 'featureType': 'manmade', 'elementType': 'all', 'stylers': { 'color': '#d1d1d1' } }, { 'featureType': 'local', 'elementType': 'all', 'stylers': { 'color': '#d1d1d1' } }, { 'featureType': 'arterial', 'elementType': 'labels', 'stylers': { 'visibility': 'off' } }, { 'featureType': 'boundary', 'elementType': 'all', 'stylers': { 'color': '#fefefe' } }, { 'featureType': 'building', 'elementType': 'all', 'stylers': { 'color': '#d1d1d1' } }, { 'featureType': 'label', 'elementType': 'labels.text.fill', 'stylers': { 'color': '#999999' } }] } }, series: [ { name: 'pm2.5', type: 'scatter', coordinateSystem: 'bmap', data: convertData(data), symbolSize: function (val) { return val[2] / 10; }, label: { normal: { formatter: '{b}', position: 'right', show: false }, emphasis: { show: true } }, itemStyle: { normal: { color: 'purple' } } }, { name: 'Top 5', type: 'effectScatter', coordinateSystem: 'bmap', data: convertData(data.sort(function (a, b) { return b.value - a.value; }).slice(0, 6)), symbolSize: function (val) { return val[2] / 10; }, showEffectOn: 'render', rippleEffect: { brushType: 'stroke' }, hoverAnimation: true, label: { normal: { formatter: '{b}', position: 'right', show: true } }, itemStyle: { normal: { color: 'purple', shadowBlur: 10, shadowColor: '#333' } }, zlevel: 1 } ] }; myChart1.setOption(option); </script> <body> ``` //已解决 需要引入必要的控件 ``` <%--引入echarts控件--%> <script src="/erzhentang/FR-LIB/incubator-echarts-4.4.0/dist/echarts.js"></script> <!-- 引入 vintage 主题 --> <script src="/erzhentang/FR-LIB/incubator-echarts-4.4.0/theme/vintage.js"></script> <%--引入地图所需控件--%> <script type="text/javascript" src="https://www.echartsjs.com/examples/vendors/lodash.js"></script> <script type="text/javascript" src="https://www.echartsjs.com/examples/javascripts/common.js"></script> <script type="text/javascript">function changeLang(lang) { if (lang === 'en') { if (location.hostname !== 'echarts.apache.org') { var re = new RegExp('/zh/', 'g'); var pathname = location.pathname.replace(re, '/en/'); var url = 'https://echarts.apache.org' + pathname + location.search + location.hash; location.href = url; return; } } location.href = location.href.replace( new RegExp('/(zh|en)/', 'g'), '/' + lang + '/' ); } window.ROOT_PATH = 'https://www.echartsjs.com/examples/'; </script> <script type="text/javascript" src="https://www.echartsjs.com/examples/vendors/dat.gui.min.js"></script> <script type="text/javascript" src="https://www.echartsjs.com/examples/vendors/ace/src/ace.js"></script> <script type="text/javascript" src="https://www.echartsjs.com/examples/vendors/ace/src/ext-language_tools.js"></script> <script type="text/javascript" src="https://www.echartsjs.com/examples/javascripts/editor.js?_v_=1571170137685"></script> <script type="text/javascript" src="https://www.echartsjs.com/examples/vendors/echarts-stat/ecStat.min.js?_v_=1571170137685"></script> <script type="text/javascript" src="https://www.echartsjs.com/examples/vendors/echarts/echarts.min.js?_v_=1571170137685"></script> <script type="text/javascript" src="https://www.echartsjs.com/examples/vendors/echarts/map/js/china.js?_v_=1571170137685"></script> <script type="text/javascript" src="https://www.echartsjs.com/examples/vendors/echarts/map/js/world.js?_v_=1571170137685"></script> <script type="text/javascript" src="https://www.echartsjs.com/examples/vendors/echarts/extension/dataTool.js?_v_=1571170137685"></script> <script type="text/javascript" src="https://www.echartsjs.com/examples/vendors/echarts/extension/bmap.js?_v_=1571170137685"></script> <script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&amp;ak=KOmVjPVUAey1G2E8zNhPiuQ6QiEmAwZu&amp;__ec_v__=20190126"></script> <script type="text/javascript" src="https://api.map.baidu.com/getscript?v=2.0&amp;ak=KOmVjPVUAey1G2E8zNhPiuQ6QiEmAwZu&amp;services=&amp;t=20190622163250"></script> <script type="text/javascript">document.getElementById('nav-examples').className = 'active';</script> <!-- Baidu Tongji--> <script type="text/javascript">var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?54b918eee37cb8a7045f0fd0f0b24395"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> <!-- Google Analytics--> <script type="text/javascript" async="" src="https://www.googletagmanager.com/gtag/js?id=UA-141228404-1"></script> <script type="text/javascript">window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-141228404-1'); </script> ```

echarts 显示数据出现问题,json取出数据后无法显示

如图,想显示的数据如图: ![图片说明](https://img-ask.csdn.net/upload/201808/07/1533622394_667478.png) 这数据是直接写死的,代码如下: ``` <body> <div id="line" style="width:600px; height: 400px;float:right"></div> </body> <script type="text/javascript"> $(function() { loaderBar(); }); function loaderBar() { var myChart = echarts.init(document.getElementById('line')); var dataAll = [ 389, 259, 262, 324, 232, 176, 196, 214, 133, 370 ]; var yAxisData = [ '原因1', '原因2', '原因3', '原因4', '原因5', '原因6', '原因7', '原因8', '原因9', '原因10' ]; var option = { backgroundColor : '#0f375f', title : [ { text : "投诉原因TOP10", x : '10%', y : '1%', textStyle : { color : "#fff", fontSize : "14" } }, ], grid : [ { x : '20%', y : '7%', width : '45%', height : '90%' }, ], tooltip : { formatter : '{b} ({c})' }, xAxis : [ { gridIndex : 0, axisTick : { show : false }, axisLabel : { show : false }, splitLine : { show : false }, axisLine : { show : false } }, ], yAxis : [ { gridIndex : 0, interval : 0, data : yAxisData.reverse(), axisTick : { show : false }, axisLabel : { show : true }, splitLine : { show : false }, axisLine : { show : false, lineStyle : { color : "white" } }, } ], series : [ { name : '投诉原因TOP10', type : 'bar', xAxisIndex : 0, yAxisIndex : 0, barWidth : '45%', itemStyle : { normal : { color : 'blue' } }, label : { normal : { show : true, position : "right", textStyle : { color : "white" } } }, data : dataAll.sort(), }, ] }; myChart.setOption(option); </script> ``` 但是我把它动态用ajax调用的时候,就无法显示数据了,代码如下: ``` <body> <div id="line" style="width:600px; height: 400px;float:right"></div> </body> <script type="text/javascript"> $(function() { loaderBar(); }); function loaderBar() { var myChart = echarts.init(document.getElementById('line')); var dataAll = [/* 389, 259, 262, 324, 232, 176, 196, 214, 133, 370 */]; var yAxisData = [/* '原因1', '原因2', '原因3', '原因4', '原因5', '原因6', '原因7', '原因8', '原因9', '原因10' */]; var option = { backgroundColor : '#0f375f', title : [ { text : "投诉原因TOP10", x : '10%', y : '1%', textStyle : { color : "#fff", fontSize : "14" } }, ], grid : [ { x : '20%', y : '7%', width : '45%', height : '90%' }, ], tooltip : { formatter : '{b} ({c})' }, xAxis : [ { gridIndex : 0, axisTick : { show : false }, axisLabel : { show : false }, splitLine : { show : false }, axisLine : { show : false } }, ], yAxis : [ { gridIndex : 0, interval : 0, /* data : yAxisData.reverse(), */ axisTick : { show : false }, axisLabel : { show : true }, splitLine : { show : false }, axisLine : { show : false, lineStyle : { color : "white" } }, } ], series : [ { name : '投诉原因TOP10', type : 'bar', xAxisIndex : 0, yAxisIndex : 0, barWidth : '45%', itemStyle : { normal : { color : 'blue' } }, label : { normal : { show : true, position : "right", textStyle : { color : "white" } } }, /* data : dataAll.sort(), */ }, ] }; /* myChart.setOption(option); */ var dataAll = [389, 259, 262, 324, 232, 176, 196, 214, 133, 370]; var yAxisData = ['原因1', '原因2', '原因3', '原因4', '原因5', '原因6', '原因7', '原因8', '原因9', '原因10']; $.ajax({ type : 'get', url : 'json/indexdata.json',//请求数据的地址 dataType : "json", //返回数据形式为json success : function(result) { //请求成功时执行该函数内容,result即为服务器返回的json对象 $.each(result.rankList, function(index, item) { yAxisData.push(item.name); //挨个取出类别并填入类别数组 dataAll.push(item.count); //挨个取出销量并填入销量数组 }); myChart.hideLoading(); /* alert(yAxisData); alert(dataAll); return ; */ option.yAxis.data=yAxisData; option.series.data=dataAll; myChart.setOption(option); } }); } </script> ``` 数据是能够拿到,但是现在图表无法显示出来。 ![图片说明](https://img-ask.csdn.net/upload/201808/07/1533622807_178708.png) 哪位大佬帮忙看看,感谢呀,江湖救急!

vue中echarts图无法渲染

我在父组件中定义了一个容器,然后定义了echarts图的基本配置项,在created中调用一个方法,获取后台数据,然后将数据传递到子组件中渲染echarts图,现在数据都能成功传递,但是一直无法成功渲染echarts图 以下为父组件代码 ``` // 父组件代码 <template> <div> <div class="leftChart"> <linegraph :id="'leftChart'" :data="option1" style="height:330px;width:100%"></linegraph> </div> </div> </template> <script> // 引入子组件 import linegraph from "./EchartsShow.vue"; // 引入网络请求方法 import { getSumData } from "@/api/crd/orgLimitView/orgView" export default { data () { return { // echarts图基本配置项,未定义具体数据 option1: { title: { text: '授信额度结构', subtext: '行业维度', x: 'center', top: '3%' }, tooltip: { trigger: 'item', formatter: "{a} <br/>{b} : {c} ({d}%)" }, legend: { orient: 'vertical', left: '2%', top: '2%' }, series: [ { name: '行业', type: 'pie', radius: '55%', center: ['50%', '55%'], itemStyle: { emphasis: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: 'rgba(0, 0, 0, 0.5)' } } } ] }, } }, created () { this.getSum() }, methods: { getSum () { // 调用get请求方法,获取后台数据,由于进度问题,目前只能传递固定的参数,才能获取到测试数据 getSumData('1', '01000').then(res => { if (res.status != 200) { return this.$message.error('获取数据失败,请重试') } const datas = res.data.data // 由于拿到的数据非常复杂繁多,需要进行一些处理,才能拿到需要的数据 this.option1.legend.data = this.tableDatas.map(item => { // 由于后台拿到的数据,都是数字类的码值,this.dicInd[item.industry] 用来翻译后台数据 return this.dicInd[item.industry] }) this.option1.series[0].data = this.tableDatas.map(item => { return { value: item.approveExpAmount, name: this.dicInd[item.industry] } }) console.log(this.option1.legend.data, '行业'); console.log(this.option1.series[0].data, '行业带数据'); }) } }, components: { linegraph } } </script> ``` 以下为子组件代码 ``` // 子组件代码 <template> <div v-bind:id="id" v-bind:data="data"></div> </template> <script> import echarts from "echarts"; export default { name: "echartsShow", data () { return { ChartLineGraph: null }; }, // 深度监听 父组件刚开始没有值,只有图标的配置项 // 父组件ajax请求后改变数据的值,传递过来,图标已生成,监听传过来的值的改变 watch: { data: { deep: true, handler: function (newVal, oldVal) { if (newvalue) { this.drawLineGraph(this.id, newVal) } else { this.drawLineGraph(this.id, oldVal) } } } }, props: ["id", "data"], created() { console.log(this.data, '打印传递过来的图表数据') }, mounted () { this.drawLineGraph(this.id, this.data); console.log(this.id, '打印id值') console.log(this.data, '打印data值') }, methods: { drawLineGraph (id, data) { let _this = this; let myChart = document.getElementById(id); this.ChartLineGraph = echarts.init(myChart); this.ChartLineGraph.setOption(data); window.addEventListener("resize", function () { _this.ChartLineGraph.resize(); }); } }, beforeDestroy () { if (this.ChartLineGraph) { this.ChartLineGraph.clear(); } } }; </script> ``` 从后台获取数据后,成功传递给子组件,但是echarts无法成功渲染 ![图片说明](https://img-ask.csdn.net/upload/202001/07/1578384445_959195.png) ![图片说明](https://img-ask.csdn.net/upload/202001/07/1578384684_683561.png) ![图片说明](https://img-ask.csdn.net/upload/202001/07/1578384616_880352.png) ![图片说明](https://img-ask.csdn.net/upload/202001/07/1578384792_786796.png) 经过多次尝试,我遇到了一个奇怪的问题 ![图片说明](https://img-ask.csdn.net/upload/202001/07/1578385072_241075.png) ![图片说明](https://img-ask.csdn.net/upload/202001/07/1578385147_470918.png) 求各位大佬指点,我的代码哪个地方写错了,如何才能成功渲染echarts

echarts怎么调用excel数据

![图片说明](https://img-ask.csdn.net/upload/201908/16/1565925862_978421.png) 需要做个图表,本地运行就可以了,需要的从excel中读取数据(excel中有两个数据源,一个是日期时间线索的数据,另一个是日期时间消费点击数据,两个数据源相同的有日期、月份、周数、周别), 怎么根据周数和月份来展示图表。 因为现在做的excel数据太多了,所以excel经常卡住,所以需要一个本地运行的图表

echart报错 Uncaught TypeError: Cannot read property 'type' of undefined

``` echarts.min.js:22 Uncaught TypeError: Cannot read property 'type' of undefined at Ah (echarts.min.js:22) at echarts.min.js:22 at i.<anonymous> (echarts.min.js:22) at Array.forEach (<anonymous>) at d (echarts.min.js:22) at i.eachSeries (echarts.min.js:22) at _h (echarts.min.js:22) at vh (echarts.min.js:22) at Object.overallReset (echarts.min.js:22) at mr.Vr [as _reset] (echarts.min.js:22) Ah @ echarts.min.js:22 (anonymous) @ echarts.min.js:22 (anonymous) @ echarts.min.js:22 d @ echarts.min.js:22 eachSeries @ echarts.min.js:22 _h @ echarts.min.js:22 vh @ echarts.min.js:22 (anonymous) @ echarts.min.js:22 Vr @ echarts.min.js:22 yr @ echarts.min.js:22 UI.perform @ echarts.min.js:22 (anonymous) @ echarts.min.js:22 d @ echarts.min.js:22 Rr @ echarts.min.js:22 uT.performDataProcessorTasks @ echarts.min.js:22 update @ echarts.min.js:22 HT.setOption @ echarts.min.js:22 initEcharts @ 02搜索结果-03人群画像.html:476 (anonymous) @ 02搜索结果-03人群画像.html:508 script.onload @ 02搜索结果-03人群画像.html:524 load (async) loadBdScript @ 02搜索结果-03人群画像.html:523 showProvince @ 02搜索结果-03人群画像.html:507 (anonymous) @ 02搜索结果-03人群画像.html:487 trigger @ echarts.min.js:22 e @ echarts.min.js:22 trigger @ echarts.min.js:22 dispatchToElement @ echarts.min.js:22 ww.<computed> @ echarts.min.js:22 trigger @ echarts.min.js:22 zb.<computed> @ echarts.min.js:22 (anonymous) @ echarts.min.js:22 ```

echarts3.0 引用json地图

echarts3.0有两个引入地图的方式, http://echarts.baidu.com/download-map.html 我用js的方法引入成功了,但是用json的方法就是看不到地图(火狐也看不到),空白一片 以下是我的目录结构 F:\MyEcharts3.0 -china.js -china.json -echarts.js -echarts.min.js -jquery.min.js -macarons2.js -MyTest.html china.json是echarts官网下载的 以下是我的html代码 <!DOCTYPE html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!--自适应device-width设备宽度--> <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="./echarts.js"></script> <script src="./jquery.min.js"></script> <title>ECharts</title> <style> </style> </head> <body> <div id="main" style="height:800px;width:100%;border:1px solid black;"></div> <script> $.get('./china.json', function (chinaJson) { echarts.registerMap('china', chinaJson); var chart = echarts.init(document.getElmentById('main')); chart.setOption({ series: [{ type: 'map', map: 'china' }] }); }); //myChart.setOption(option); </script> </body> 本人是新手,因为工作需要才开始接触echarts,html,希望大神耐心指导,谢谢 顺便弱弱的问一下echarts3.0怎么像之前一样,加载主题文件?

#vue+echarts 遇到的参数问题??

我在使用vue +echarts 遇到这个问题,就是当我在前台获取到后台的数据后 并且将后台获取到的数据通过for 循环将参数转换成数组格式,并让他赋值到显示的地方,但是不知道因为什么原因前台总是显示不了数据。 ##也不知道是不是因为数据格式原因?各位大佬请帮忙看一看这是个什么问题??? 这是从后台获得数据并且将数据push 到定义好的空数组里。 ![图片说明](https://img-ask.csdn.net/upload/202006/01/1591001367_662363.jpg) 这是定义的空数组。 ![图片说明](https://img-ask.csdn.net/upload/202006/01/1591001465_727520.jpg) 这个是将定义好的数组赋值给要显示的x 轴。 ![图片说明](https://img-ask.csdn.net/upload/202006/01/1591001791_299985.jpg) 这个是在前台console打印出来的数据。 ![图片说明](https://img-ask.csdn.net/upload/202006/01/1591001602_53679.jpg)

echarts地图的问题。地图刷新点击事件重复

``` var myChart = echarts.init(document.getElementById('map')); var option = { title: { text : '重庆市脱贫地区分布总览', subtext : '当前区域信息', top:'20', textStyle: { fontSize: 18, color: '#333' // 主标题文字颜色 } }, series: [ { name: '数据名称', type: 'map', mapType: '重庆', top:'65', zoom:1.1, selectedMode : 'single', label: { normal: { show: true,//显示省份标签 textStyle:{color:"#fbfdfe"}//省份标签字体颜色 }, emphasis: {//对应的鼠标悬浮效果 show: true, textStyle:{color:"#323232"} } }, itemStyle: { normal: { borderWidth: .5,//区域边框宽度 borderColor: '#0550c3',//区域边框颜色 areaColor:"#4ea397",//区域颜色 }, emphasis: { borderWidth: .5, borderColor: '#4b0082', areaColor:"#ece39e", } }, }] }; myChart.setOption(option); myChart.on('click', function (params) {//点击事件 if (params.componentType === 'series') { var provinceName =params.name; $('#box').css('display','block'); $("#box-title").html(provinceName); } }); ``` 在一个div中放的是echarts地图,有点击事件,页面会每隔一段时间生成一个新的底图,但是在点击的时候会把以前的点击事件里面的弹框内容给弹出。会反复叠加弹出很多框。。问大神怎么解决

ajax的值怎样传递到echarts中

在ajax中两个数组,分别是arr1,arr2;怎样将数组分别传递到echarts中的nodes:[]和links:[]中?求详细源码! 部分源码 ``` <div id="main" style="height:500px;"></div> <script src="./js/echarts.js" ></script> <script src="./js/jquery-1.8.3.min.js" ></script> <script> var arr1 = []; var arr2 = []; $.ajax({ type:"POST", async:false, url:"mapdata.php", dataType:"json", success: function(result){ var str = result; for (var i = 0; i < str.length; i++) { arr1.push("{"+"category:"+str[i].category,"name:'"+str[i].name+"'","value:"+str[i].value+"}"); } //document.write(arr1); for (var i = 0; i < str.length; i++) { arr2.push("{"+"source:'"+str[i].source+"'","target:'"+str[i].target+"'","weight:"+str[i].weight,"name:'"+str[i].name_nexus+"'"+"}"); } //document.write(arr2); }, error:function(errorMsg){ alert("请求数据失败!"); }, }); require.config({ paths:{ echarts:'./js' } }); require( [ 'echarts', 'echarts/chart/force' ], function(ec){ var myChart = ec.init(document.getElementById("main")); var option = { title : { text: '人物关系:葛优', x:'right', y:'bottom' }, tooltip : { trigger: 'item', formatter: '{a} : {b}' }, legend: { x: 'left', data:['家人','朋友'] }, series : [ { type:'force', name : "人物关系", ribbonType: false, categories : [ { name: '人物' }, { name: '家人' }, { name:'朋友' } ], itemStyle: { normal: { label: { show: true, textStyle: { color: '#333' } }, nodeStyle : { brushType : 'both', borderColor : 'rgba(255,215,0,0.4)', borderWidth : 1 }, linkStyle: { type: 'curve' } }, emphasis: { label: { show: false }, nodeStyle : { //r: 30 }, linkStyle : {} } }, useWorker: false, minRadius : 15, maxRadius : 25, gravity: 1.1, scaling: 1.1, roam: 'move', nodes:[ arr1 ], links : [ ] } ] }; myChart.setOption(option); } ); </script> ``` arr1值为 ![图片说明](https://img-ask.csdn.net/upload/201607/18/1468831970_199619.png) arr2值为![图片说明](https://img-ask.csdn.net/upload/201607/18/1468832031_557252.png)

关于echarts水球图插件加载不正确的问题

js文件的路径都配置正确了,但是页面就是不显示图表,而且控制台显示![图片说明](https://img-ask.csdn.net/upload/201703/26/1490539192_191305.jpg),求大神来解答

关于echarts图片导出Excel,图片失真

大致实现思路是,把ecahrts图片的base64编码传到后台,再用HSSFWorkbook的HSSFPatriarch画布写出图片,但是最后导出的图片是花的,完全失真。 代码中也加上了关闭动画 animation:false。求解答 页面中的echarts图片 ![图片说明](https://img-ask.csdn.net/upload/201910/14/1571044703_625678.png) Excel中的图片 ![图片说明](https://img-ask.csdn.net/upload/201910/14/1571044813_971416.png) 发现了问题是,获取的ecahrts的base64编码有问题。 如果当前页面显示的是echarts图片,获取的编码没问题,导出也是没问题的,图片正常 但是当前页面不是echarts图片,调同一个js方法,生成base64图片,这时获取的编码就有问题了,导出的图片也失真了。 所以请教大佬们,上述两种情况,调用同一个获取base64编码的方法,得到的不同的结果, 我怎么能在页面不显示echarts图片时,获取到正确的编码呢,跪求 问题解决了,就是在其他页面(无echarts的页面)中,先把这个echarts图片画出来,再给隐藏掉。

Android Studio 开发问题 为什么无法调用函数

![图片说明](https://img-ask.csdn.net/upload/201608/10/1470800465_368925.png) ![图片说明](https://img-ask.csdn.net/upload/201608/10/1470800477_148945.png) 为什么这里没有调用到getNewsInfo()函数,是什么原因啊......

jquery 加载echart3 数据报错

Uncaught TypeError: Cannot read property 'dim' of undefined at n.getOtherAxis (http://localhost:8080/btmp/media/js/echarts.min.js:25:30202) at f (http://localhost:8080/btmp/media/js/echarts.min.js:14:24329) at Object.d [as dataTransform] (http://localhost:8080/btmp/media/js/echarts.min.js:14:23733) at f (http://localhost:8080/btmp/media/js/echarts.min.js:29:15905) at http://localhost:8080/btmp/media/js/echarts.min.js:1:2956 at Array.map (native) at Object.p [as map] (http://localhost:8080/btmp/media/js/echarts.min.js:1:2314) at s (http://localhost:8080/btmp/media/js/echarts.min.js:29:14921) at i.renderSeries (http://localhost:8080/btmp/media/js/echarts.min.js:29:16713) at i.<anonymous> (http://localhost:8080/btmp/media/js/echarts.min.js:14:22974)

关于Echarts饼图大量数据传输

![图片说明](https://img-ask.csdn.net/upload/201901/04/1546595415_820752.png) ![图片说明](https://img-ask.csdn.net/upload/201901/04/1546595421_155206.png) 声明一下环境: 我们用的工具是 QlikSense ,这是在调用echarts的时候的问题。 如图:由于数据量大,我在接收数据时,我把数据存在一个数组 存储代码如下 data 的两个个元素分别是两个字段数据。 这里把两个元素的数据分别存储在两个数组中。 var data_w = new Array(); var data_v1 = new Array(); for(var i=0;i<data.length;i++){ data_w[i] = data[i][0]; data_v1[i] = data[i][1]; }; 我这里想在echarts的 data 这里这么做: data[{value:data_w,name:data_v1}] 可是最后结果却不能出来,我查看了他转换后的数据 大概样式就是 : data_w_中的全部数据 : data_v1 _中的全部数据 我试过遍历出数据作为一个数组,结果不行,可能代码问题。 我想问一下各路大神是怎么在饼图中传输数据的。 换句话说,这种情况只允许 JSON 格式吗? 用其他引用变量的方式不可以吗??

小白求问API调用问题:postman调用api没响应?

``` http://XX.XX.XX.XX:XXXX/v1/data-rest/swagger-ui.html#!/EventDate_Service_API/getStatisDetailUsingGET ``` 各位大神,这个样子的API要怎么调用啊,用postman贴上去直接发送没响应。是哪里操作问题么。

使用requirejs封装echarts

我想用reqirejs的方式,定义一个define,使用AMD的方式依赖于jquery和echarts,使用javascript函数返回一个方法,当其他地方调用时,可以直接调用这个返回的方法生成一个echarts图表。有没有人有实际的例子给参考下?

vue中使用echarts,数据更新后无法重新绘制图表?

      getTransformerSubstation3 () {         // this.myChart3.clear()         this.myChart3 = this.$echarts.init(document.getElementById('oneChart3'))         api           .getTransformerSubstation3(this.bdzparams)           .then(data => {             this.transformerSubstationList3 = data             let option = {               yAxis: {                 type: 'category',                 data: this.transformerSubstationList3.data.Asix,               },               xAxis: {                 type: 'value',               },               series: [                 {                   data: this.transformerSubstationList3.data.data0,                   type: 'bar',                   itemStyle: {                     normal: {                       color: '#32b16c',                       label: {                         show: true,                         position: 'right',                         textStyle: {                           color: 'black',                           fontSize: 10,                         },                       },                     },                   },                   barWidth: 20,                 },               ],               grid: {                 x: '3%',                 y: '20%',                 bottom: '3%',                 containLabel: true,               },                        },               },             }             this.myChart3.setOption(option)           })       },

echarts.js制作日本地图

echarts.js 怎么制作日本地图 效果跟这张图差不多 只是我要的是日本的地图 不是我们中国的地图![图片说明](https://img-ask.csdn.net/upload/201911/14/1573717225_700217.png)

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

Vue + Spring Boot 项目实战(十九):Web 项目优化解决方案

快来一起探索如何打脸我们的破项目,兄弟姐妹们把害怕打在公屏上!

你连存活到JDK8中著名的Bug都不知道,我怎么敢给你加薪

CopyOnWriteArrayList.java和ArrayList.java,这2个类的构造函数,注释中有一句话 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 public ArrayList(Collection&lt;? ...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

CSDN:因博主近期注重写专栏文章(已超过150篇),订阅博主专栏人数在突增,近期很有可能提高专栏价格(已订阅的不受影响),提前声明,敬请理解!

CSDN:因博主近期注重写专栏文章(已超过150篇),订阅博主专栏人数在突增,近期很有可能提高专栏价格(已订阅的不受影响),提前声明,敬请理解! 目录 博客声明 大数据了解博主粉丝 博主的粉丝群体画像 粉丝群体性别比例、年龄分布 粉丝群体学历分布、职业分布、行业分布 国内、国外粉丝群体地域分布 博主的近期访问每日增量、粉丝每日增量 博客声明 因近期博主写专栏的文章越来越多,也越来越精细,逐步优化文章。因此,最近一段时间,订阅博主专栏的人数增长也非常快,并且专栏价

一个HashMap跟面试官扯了半个小时

一个HashMap能跟面试官扯上半个小时 关注 安琪拉的博客 1.回复面试领取面试资料 2.回复书籍领取技术电子书 3.回复交流领取技术电子书 前言 HashMap应该算是Java后端工程师面试的必问题,因为其中的知识点太多,很适合用来考察面试者的Java基础。 开场 面试官: 你先自我介绍一下吧! 安琪拉: 我是安琪拉,草丛三婊之一,最强中单(钟馗不服)!哦,不对,串场了,我是**,目...

我说我不会算法,阿里把我挂了。

不说了,字节跳动也反手把我挂了。

记录下入职中软一个月(外包华为)

我在年前从上一家公司离职,没想到过年期间疫情爆发,我也被困在家里,在家呆着的日子让人很焦躁,于是我疯狂的投简历,看面试题,希望可以进大公司去看看。 我也有幸面试了我觉得还挺大的公司的(虽然不是bat之类的大厂,但是作为一名二本计算机专业刚毕业的大学生bat那些大厂我连投简历的勇气都没有),最后选择了中软,我知道这是一家外包公司,待遇各方面甚至不如我的上一家公司,但是对我而言这可是外包华为,能...

面试:第十六章:Java中级开发

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

培训班出来的人后来都怎么样了?(二)

接着上回说,培训班学习生涯结束了。后面每天就是无休止的背面试题,不是没有头脑的背,培训公司还是有方法的,现在回想当时背的面试题好像都用上了,也被问到了。回头找找面试题,当时都是打印下来天天看,天天背。 不理解呢也要背,面试造飞机,上班拧螺丝。班里的同学开始四处投简历面试了,很快就有面试成功的,刚开始一个,然后越来越多。不知道是什么原因,尝到胜利果实的童鞋,不满足于自己通过的公司,嫌薪水要少了,选择...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

工作八年,月薪60K,裸辞两个月,投简历投到怀疑人生!

近日,有网友在某职场社交平台吐槽,自己裸辞两个月了,但是找工作却让自己的心态都要崩溃了,全部无果,不是已查看无回音,就是已查看不符合。 “工作八年,两年一跳,裸辞两个月了,之前月薪60K,最近找工作找的心态崩了!所有招聘工具都用了,全部无果,不是已查看无回音,就是已查看不符合。进头条,滴滴之类的大厂很难吗???!!!投简历投的开始怀疑人生了!希望 可以收到大厂offer” 先来看看网...

大牛都会用的IDEA调试技巧!!!

导读 前天面试了一个985高校的实习生,问了他平时用什么开发工具,他想也没想的说IDEA,于是我抛砖引玉的问了一下IDEA的调试用过吧,你说说怎么设置断点...

都前后端分离了,咱就别做页面跳转了!统统 JSON 交互

文章目录1. 无状态登录1.1 什么是有状态1.2 什么是无状态1.3 如何实现无状态1.4 各自优缺点2. 登录交互2.1 前后端分离的数据交互2.2 登录成功2.3 登录失败3. 未认证处理方案4. 注销登录 这是本系列的第四篇,有小伙伴找不到之前文章,松哥给大家列一个索引出来: 挖一个大坑,Spring Security 开搞! 松哥手把手带你入门 Spring Security,别再问密...

97年世界黑客编程大赛冠军作品(大小仅为16KB),惊艳世界的编程巨作

这是世界编程大赛第一名作品(97年Mekka ’97 4K Intro比赛)汇编语言所写。 整个文件只有4095个字节, 大小仅仅为16KB! 不仅实现了3D动画的效果!还有一段震撼人心的背景音乐!!! 内容无法以言语形容,实在太强大! 下面是代码,具体操作看最后! @echo off more +1 %~s0|debug e100 33 f6 bf 0 20 b5 10 f3 a5...

程序员是做全栈工程师好?还是专注一个领域好?

昨天,有位大一的同学私信我,说他要做全栈工程师。 我一听,这不害了孩子么,必须制止啊。 谁知,讲到最后,更确定了他做全栈程序员的梦想。 但凡做全栈工程师的,要么很惨,要么很牛! 但凡很牛的,绝不是一开始就是做全栈的! 全栈工程师听起来好听,但绝没有你想象的那么简单。 今天听我来给你唠,记得帮我点赞哦。 一、全栈工程师的职责 如果你学习编程的目的只是玩玩,那随意,想怎么学怎么学。...

不要再到处使用 === 了

我们知道现在的开发人员都使用 === 来代替 ==,为什么呢?我在网上看到的大多数教程都认为,要预测 JavaScript 强制转换是如何工作这太复杂了,因此建议总是使用===。这些都...

什么是a站、b站、c站、d站、e站、f站、g站、h站、i站、j站、k站、l站、m站、n站?00后的世界我不懂!

A站 AcFun弹幕视频网,简称“A站”,成立于2007年6月,取意于Anime Comic Fun,是中国大陆第一家弹幕视频网站。A站以视频为载体,逐步发展出基于原生内容二次创作的完整生态,拥有高质量互动弹幕,是中国弹幕文化的发源地;拥有大量超粘性的用户群体,产生输出了金坷垃、鬼畜全明星、我的滑板鞋、小苹果等大量网络流行文化,也是中国二次元文化的发源地。 B站 全称“哔哩哔哩(bilibili...

十个摸鱼,哦,不对,是炫酷(可以玩一整天)的网站!!!

文章目录前言正文**1、Kaspersky Cyberthreat real-time map****2、Finding Home****3、Silk – Interactive Generative Art****4、Liquid Particles 3D****5、WINDOWS93****6、Staggering Beauty****7、Ostagram图片生成器网址****8、全历史网址*...

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

用了这个 IDE 插件,5分钟解决前后端联调!

点击上方蓝色“程序猿DD”,选择“设为星标”回复“资源”获取独家整理的学习资料!作者 |李海庆我是一个 Web 开发前端工程师,受到疫情影响,今天是我在家办公的第78天。开发了两周,...

大厂的 404 页面都长啥样?最后一个笑了...

每天浏览各大网站,难免会碰到404页面啊。你注意过404页面么?猿妹搜罗来了下面这些知名网站的404页面,以供大家欣赏,看看哪个网站更有创意: 正在上传…重新上传取消 腾讯 正在上传…重新上传取消 网易 淘宝 百度 新浪微博 正在上传…重新上传取消 新浪 京东 优酷 腾讯视频 搜...

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

代码注释如此沙雕,会玩还是你们程序员!

某站后端代码被“开源”,同时刷遍全网的,还有代码里的那些神注释。 我们这才知道,原来程序员个个都是段子手;这么多年来,我们也走过了他们的无数套路… 首先,产品经理,是永远永远吐槽不完的!网友的评论也非常扎心,说看这些代码就像在阅读程序员的日记,每一页都写满了对产品经理的恨。 然后,也要发出直击灵魂的质问:你是尊贵的付费大会员吗? 这不禁让人想起之前某音乐app的穷逼Vip,果然,穷逼在哪里都是...

Java14 新特性解读

Java14 已于 2020 年 3 月 17 号发布,官方特性解读在这里:https://openjdk.java.net/projects/jdk/14/以下是个人对于特性的中文式...

前端还能这么玩?(女朋友生日,用前端写了一个好玩的送给了她,高兴坏了)

前端还能这么玩?(女朋友生日,用前端写了一个好玩的送给了她,高兴坏了)

爬虫(101)爬点重口味的

小弟最近在学校无聊的很哪,浏览网页突然看到一张图片,都快流鼻血。。。然后小弟冥思苦想,得干一点有趣的事情python 爬虫库安装https://s.taobao.com/api?_ks...

工作两年简历写成这样,谁要你呀!

作者:小傅哥 博客:https://bugstack.cn 沉淀、分享、成长,让自己和他人都能有所收获! 一、前言 最近有伙伴问小傅哥,我的简历怎么投递了都没有反应,心里慌的很呀。 工作两年了目前的公司没有什么大项目,整天的维护别人的代码,有坑也不让重构,都烦死了。荒废我一身技能无处施展,投递的简历也没人看。我是不动物园里的猩猩,狒狒了! 我要加班,我要996,我要疯狂编码,求给我个机会… ...

相关热词 c# 按行txt c#怎么扫条形码 c#打包html c# 实现刷新数据 c# 两个自定义控件重叠 c#浮点类型计算 c#.net 中文乱码 c# 时间排序 c# 必备书籍 c#异步网络通信
立即提问