0

我正在尝试在我的网页上嵌入一个小图表(使用 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>
4

2 回答 2

1

我通过将元素的 id 属性从“container”更改为“contain”来解决此问题(并且显然将之前引用“container”的任何代码更改为仅引用“contain”)。

无论出于何种原因,这解决了我的问题,尽管我仍然不太确定为什么。也许“容器”是 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>
于 2013-04-26T20:14:31.607 回答
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]
    }]
});
于 2013-04-26T20:14:39.827 回答