我正在尝试在我的网页上嵌入一个小图表(使用Highcharts)。我提供了一个我正在尝试做的例子。当页面加载时,图表会占用整个页面,覆盖mainDiv中的内容(我没有在此处包含)。我试过修改分区和图表的尺寸。我还查看了'chart'的'renderTo'参数,并尝试将其渲染为对象引用。
有谁知道可能导致此问题的原因?我在图表中错过了一个关键参数吗?或者我错误地编写了代码?感谢。
<!-- mainDiv is what's getting overwritten -->
<div id="mainDiv"></div>
<div id="container" style="width:10px; height:10px;"></div>
<script>
$(function () {
$('#container').highcharts({
chart: {
type: 'bar'
},
title: {
text: 'Fruit Consumption'
},
xAxis: {
categories: ['Apples', 'Bananas', 'Oranges']
},
yAxis: {
title: {
text: 'Fruit eaten'
}
},
series: [{
name: 'Jane',
data: [1, 0, 4]
}, {
name: 'John',
data: [5, 7, 3]
}]
});
});
</script>
答案 0 :(得分:1)
我通过将我的元素的id属性从“容器”更改为“包含”来修复此问题(显然将以前引用“容器”的任何代码更改为仅引用“包含”)。
无论出于何种原因,这解决了我的问题,尽管我仍然不太清楚为什么。也许“容器”是Highcharts使用的关键字。
最终代码如下所示:
<!-- mainDiv is what's getting overwritten -->
<div id="mainDiv"></div>
<div id="contain" style="width:10px; height:10px;"></div>
<script>
$(function () {
$('#contain').highcharts({
chart: {
type: 'bar'
},
title: {
text: 'Fruit Consumption'
},
xAxis: {
categories: ['Apples', 'Bananas', 'Oranges']
},
yAxis: {
title: {
text: 'Fruit eaten'
}
},
series: [{
name: 'Jane',
data: [1, 0, 4]
}, {
name: 'John',
data: [5, 7, 3]
}]
});
});
</script>
答案 1 :(得分:0)
不确定这是否有效,但您是否尝试过renderTo:'divname'选项......有点像......
var chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
type: 'bar'
},
title: {
text: 'Fruit Consumption'
},
xAxis: {
categories: ['Apples', 'Bananas', 'Oranges']
},
yAxis: {
title: {
text: 'Fruit eaten'
}
},
series: [{
name: 'Jane',
data: [1, 0, 4]
}, {
name: 'John',
data: [5, 7, 3]
}]
});