2013-07-16 31 views
0

您能帮我将Highchart放置在SVG元素中而不是HTML中。级联元素正常工作。我已经完成了jQuery SVG图。但Highchart抛出一个错误13.我能做什么?将Highstock放置在SVG中

亲切的问候

马库斯Breitinger

+0

当使用'highchart =新Highcharts.Chart(initData);',而不是'highchart =新Highcharts.Chart( “StockChart”,initData);'它使更多的,但我如何能告诉它我想要StockChart? –

回答

0

不幸的是它不扶持产品,highcharts使得在额外的div图表,并添加如标签/ datalabels为html对象的元素。

但是,您可以将SVG的SVG复制到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 
       } 
      }] 
     });   

    });