Save a combined Bar and Line chart to server

Share RGraph:   Share or Like RGraph on Facebook!

« Back to message list

Enter your email address to get email updates on this topic. You can stop receiving updates by clicking the link in the update email messages.

Posted by Andry Zulfikar on 10th November 2013
Hi,
I am trying to save a combined bar and line chart
when i check with console.info "TypeError: combo.canvas is undefined"

is there any mistake in my code or there's another way to save the image?

my code:
<canvas id="cvs" width="600" height="250">[No canvas support]</canvas>
     <script>
         var bar = new RGraph.Bar('cvs', [[3,4,6],[2,5,3],[1,5,2],[1,4,6],[1,6,8]])
             .Set('labels', ['Mal', 'Barry', 'Gary', 'Neil', 'Kim'])
             .Set('colors', ['Gradient(#99f:#27afe9:#058DC7:#058DC7)', 'Gradient(#94f776:#50B332:#B1E59F)', 'Gradient(#fe783e:#EC561B:#F59F7D)'])
             .Set('hmargin', 15)
             .Set('strokestyle', 'white')
             .Set('linewidth', 2)
             .Set('shadow', true)
             .Set('shadow.offsetx', 1)
             .Set('shadow.offsety', 0)
             .Set('shadow.blur', 1)
        
         var line = new RGraph.Line('cvs', [2,3,2,1,5])
             .Set('spline', true)
             .Set('tickmarks', 'filledcircle')
             .Set('colors', ['#CDE217'])
             .Set('ymax', 10);

         var combo = new RGraph.CombinedChart(bar, line);
         combo.Draw();
 
         var image_data = bar.combo.toDataURL("image/png");
  console.info(image_data);
     </script>
Posted by RGraph Support on 10th November 2013
Hi there,

You probably want this to get a base64 representation of the canvas:

var data_url = combo.objects[0].canvas.toDataURL();

You could then send that URL (which is just text) to the server with jQuery (or AJAX) and save it to disk. There's an example here:

www.rgraph.net/docs/integration-with-server-side-scripting.html#image





Richard, RGraph Support

Add a reply




« Back to message list