Javascript 未加载ECharts折线图
我正在使用Javascript 未加载ECharts折线图,javascript,echarts,Javascript,Echarts,我正在使用echart动态创建一些折线图。 它们是在div中创建的,这是基于服务器响应在我的js脚本中动态创建的。问题是它们没有显示出来 我做了一些测试,我注意到如果div的高度为0,图表将不会显示。因此,当div可见时,我移动了图表初始化:现在我也看不到任何东西 var chartsIds = []; // div id list var lineCharts = []; // charts array var optionLineCharts = []; 这是图表初始化功能 functi
echart
动态创建一些折线图。
它们是在div
中创建的,这是基于服务器响应在我的js脚本中动态创建的。问题是它们没有显示出来
我做了一些测试,我注意到如果div的高度为0,图表将不会显示。因此,当div
可见时,我移动了图表初始化:现在我也看不到任何东西
var chartsIds = []; // div id list
var lineCharts = []; // charts array
var optionLineCharts = [];
这是图表初始化功能
function init_echart(id, index) {
if ($("#" + id).length) {
var echartLine = echarts.init(document.getElementById(id), theme);
echartLine.setOption(optionLineCharts[index], true);
lineCharts.push(echartLine);
}
}
如果($(“#block”).is(“:visible”),则此时将为每个div id调用它
选项如下所示:
var echartLineOptions = {
tooltip:
{
trigger: "item",
formatter: function(params) {
var date = new Date(params.value[0]);
data = date.getFullYear() +
"-" +
(date.getMonth() + 1) +
"-" +
date.getDate() +
" " +
date.getHours() +
":" +
date.getMinutes();
return data + "<br/>" + params.value[1];
}
},
legend:
{
data: []
},
toolbox:
{
show: true,
feature: {
mark: { show: true },
dataView: { show: true, readOnly: false },
restore: { show: true },
saveAsImage: { show: true }
}
},
dataZoom: {
show: true,
start: 70
},
xAxis: [
{
type: "time",
splitNumber: 2
}
],
yAxis: [
{
type: "value"
}
],
series:
[]
};
var-echartLineOptions={
工具提示:
{
触发:“物品”,
格式化程序:函数(参数){
var日期=新日期(参数值[0]);
data=date.getFullYear()+
"-" +
(date.getMonth()+1)+
"-" +
date.getDate()+
" " +
date.getHours()+
":" +
date.getMinutes();
返回数据+“
”+参数值[1];
}
},
图例:
{
数据:[]
},
工具箱:
{
秀:没错,
特色:{
标记:{show:true},
数据视图:{show:true,readOnly:false},
还原:{show:true},
saveAsImage:{show:true}
}
},
数据缩放:{
秀:没错,
起点:70
},
xAxis:[
{
键入:“时间”,
电话号码:2
}
],
亚克斯:[
{
类型:“值”
}
],
系列:
[]
};
其中,根据服务器响应(正确)填充序列。我可以通过调试查看所有数据和系列
我注意到,即使可以看到最大的div,charts初始化函数创建的div的height=0。我找不到任何解决办法……非常感谢您的帮助 显然,仅仅有一个可见的
是不够的,DOM必须在echarts
初始化之前具有预定义的宽度和高度。底线是init
方法应该能够计算DOM的宽度和高度。您可以使用自定义CSS类来定义图表div的宽度和高度,并尝试一下。请原谅我回答得太晚,是的。我必须指定div的最小高度,以确保它有一个大小!=0此外,由于我有多个选项卡,我必须截获选项卡更改事件,以便“绘制”图表。@Annjawn谢谢!!为我工作