Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何通过代码为highcharts图形创建div容器?_Javascript_Highcharts - Fatal编程技术网

Javascript 如何通过代码为highcharts图形创建div容器?

Javascript 如何通过代码为highcharts图形创建div容器?,javascript,highcharts,Javascript,Highcharts,我需要为highcharts图形创建一个div容器。这应该通过代码来完成,但我不能让它工作 按代码创建div的原因是我必须显示许多图形 目前,我首先创建div,然后创建id,最后创建属性 图形错误: 例如: 我的代码是: var nombre=“集装箱速度”; var div=document.createElement('div'); setAttribute(“样式”,“宽度:580px;高度:400px;浮点:左”); div.setAttribute(“id”,名称); var计量

我需要为highcharts图形创建一个div容器。这应该通过代码来完成,但我不能让它工作

按代码创建div的原因是我必须显示许多图形

目前,我首先创建div,然后创建id,最后创建属性

图形错误:

例如:

我的代码是:

var nombre=“集装箱速度”;
var div=document.createElement('div');
setAttribute(“样式”,“宽度:580px;高度:400px;浮点:左”);
div.setAttribute(“id”,名称);
var计量选项={
图表:{
类型:“solidgauge”
},
标题:空,
窗格:{
中心:['50%,'85%,],
大小:“140%”,
startAngle:-90,
端角:90,
背景:{
背景颜色:(Highcharts.theme&&
海图.主题.背景2)| |"#EEE",
内半径:“60%”,
外层:“100%”,
形状:“圆弧”
}
},
工具提示:{
已启用:false
},
亚克斯:{
停止:[
[0.1,#55BF3B'],//绿色
[0.5,#DDDF0D'],//黄色
[0.9,#DF5353']//红色
],
线宽:0,
minorTickInterval:null,
金额:2,
标题:{
y:-70
},
标签:{
y:16
}
},
打印选项:{
solidgauge:{
数据标签:{
y:5,
边框宽度:0,
useHTML:true
}
}
}
};
var chartSpeed=Highcharts.chart(nombre,Highcharts.merge)(计量选项{
亚克斯:{
分:0,,
最高:200,
标题:{
文字:“速度”
}
},
学分:{
已启用:false
},
系列:[{
名称:“速度”,
数据:[80],
数据标签:{
格式:“{y}
”+ “公里/小时” }, 工具提示:{ valueSuffix:'公里/小时' } }] }));
.highcharts yaxis网格。highcharts网格线{
显示:无;
}

您只是错过了一步。您需要在创建元素后附加它。以下是代码的开头:

var nombre="container-speed";
var div = document.createElement('div');
div.setAttribute("style", "width: 580px; height: 400px; float: left");
div.setAttribute("id", nombre);
// APPEND ELEMENT TO document.body
document.body.appendChild(div);
另外,我更新了你的

根据您的请求,我再次更新了。我做了3个改变。其中只有一个是真正重要的

  • 声明和值名称用作元素id和
    grafica()的参数
    
    var name=“图表-”+i
  • setAttribute
    更改为
    div.setAttribute(“id”,名称)
  • ***最重要的是,您在每个地方都将变量
    nombre
    更改为
    name
    ,但在这里
    var chartSpeed=Highcharts.chart(name,Highcharts.merge(gaugeOptions,{…
    ),可以看出,我已经更新了

  • 非常感谢您的帮助。现在,如果我想创建N个图,我该怎么做?我修改了上面的答案。还有一点需要注意的是,如果您要在许多图表上迭代,或者如果页面上有许多其他javascript,您可能必须在
    for
    循环中引入一些流控制