0

你能帮我在 SVG 元素而不是 HTML 中放置一个 Highchart 吗?级联元素工作正常。我已经用 jquery SVG plot 完成了。但是 Highchart 抛出错误 13. 我该怎么办?

亲切的问候

马库斯·布莱廷格

4

2 回答 2

1

您可以在 div 中生成图表,该图表将具有负边距。然后使用 getSVG() 函数并将其粘贴到 svg 元素。

http://api.highcharts.com/highcharts#Chart.getSVG()

于 2013-07-17T09:35:43.453 回答
0

不幸的是,它不被支持,highcharts 在额外的 div 中呈现图表,并将标签/数据标签等元素添加为 html 对象。

但是你可以在你的 SVG 中复制 highstock 的 SVG。但是您将丢失所有附加的事件。像拖放一样,单击....

这是它的一个例子。 http://jsfiddle.net/L6SA4/10/

$.getJSON('http://www.highcharts.com/samples/data/jsonp.php?filename=aapl-c.json&callback=?', function(data) {
        // Create a hidden and not attached div container.
        var div = $('<div>This is an hidden unatached container.</div>');

        // Create the chart
        div.highcharts('StockChart', {

            chart: {
                width: 480,
                height: 400,
                events: {
                    load: function () {
                        // If hidden div was generated, take the svg content and put it into svg.
                        var stockSvg = $('svg', this.container);

                        var svgObj = $('#mySvg').svg();

                        // Force position of highstock
                        stockSvg.attr('x', 20);
                        stockSvg.attr('y', 30);

                        // Replace ugly rect with highstock
                        $('#container', svgObj).replaceWith(stockSvg); 
                    }
                }
            },

            series : [{
                name : 'AAPL',
                data : data,
                tooltip: {
                    valueDecimals: 2
                }
            }]
        });        

    });
于 2014-04-01T08:25:12.233 回答