目前我遇到的暂时有两种情况,一个是版本,一个是require时候配置问题;
版本可以理解,因为引用的echarts.js版本比价低,导致我所画的图出不来;后来换了最新版本的js就好了,直接取官网下载就行;
第二种情况是我对这个api根本不熟悉,只为了完成任务,也没认真看;
require.config({
paths : {
'echarts' : '/static/js/echart/echarts.min',
'echarts/chart/line' : '/static/js/echart/echarts.min', //对应线
'echarts/chart/bar' : '/static/js/echart/echarts.min' //对应柱形
}
});
这边需要先配置下,我画折线的时候没问题,画柱形的时候却显示不出来,当时也很纳闷,后来查了才知道不同的图需要不同的配置,后来才加上
'echarts/chart/bar' : '/static/js/echart/echarts.min' //对应柱形
这一行,但是,这样并没有结束,画图前还要就行require,如下:
require(['echarts', 'echarts/chart/bar'], DrawEChart);
这样一来就解决不出来的问题了;需要注意的是,画什么图就要对应什么配置,不然图就出不来,line对应线,bar对应柱形;
附:代码实例
<script>
var myChart;
var eCharts;
require.config({
paths : {
'echarts' : '/static/js/echart/echarts.min',
'echarts/chart/line' : '/static/js/echart/echarts.min', //对应线
'echarts/chart/bar' : '/static/js/echart/echarts.min' //对应柱形
}
});
$(function(){
getCaseCheck();
})
function getCaseCheck(){
$.post("/caseCheck/getCaseCheck",function(rep){
console.log(rep.data.name);
console.log(rep.data.count);
require(['echarts', 'echarts/chart/bar'], DrawEChart);
//创建ECharts图表方法
function DrawEChart(ec) {
eCharts = ec;
myChart = eCharts.init(document.getElementById('totest'));
myChart.showLoading({
text: "图表数据正在努力加载..."
});
//定义图表options
myChart.setOption( option = {
color: ['#87CEEB'],
tooltip : {
trigger: 'axis',
axisPointer : { // 坐标轴指示器,坐标轴触发有效
type : 'line' // 默认为直线,可选为:'line' | 'shadow'
}
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis : [
{
type : 'category',
data : rep.data.name,//直接把返回值填充进来,注意的是,请求后台返回的值必须是jsonArray类型的
axisTick: {
alignWithLabel: true
}
}
],
yAxis : [
{
max : rep.data.max+3,
type : 'value'
}
],
series : [
{
name:'',
type:'bar',
barWidth: '20%',
data:rep.data.count
}
]
},true);
myChart.hideLoading();
}
})
}
</script>