Using charts on web-based application

MiServer is Dyalog's APL-based web development framework

Using charts on web-based application

Postby Gantois on Sun Jan 01, 2017 10:54 am

HI!

What is the recommendation to use charts on dyalog APL web applications?
Is SharpPlot Chart Wizard the right way?

Thanks,
Marco
Gantois
 
Posts: 80
Joined: Thu Apr 17, 2014 9:44 am

Re: Using charts on web-based application

Postby woody on Mon Jan 02, 2017 3:32 am

There are several options.

I have had good luck with the Google Chart tools.

These are VERY complete and full featured.

And, rather easy to EMBED APL DATA into the JavaScript to either reference a data source, or include the raw data numbers to be rendered.

https://developers.google.com/chart/

See demo on our APLscript.com TEST site

http://aplscript.com/?Page=Chart

Cheers,

//W
Woodley Butler
Automatonics, Inc.
"Find your head in the APL Cloud"
http://www.APLcloud.com
User avatar
woody
 
Posts: 144
Joined: Tue Dec 28, 2010 12:54 am
Location: Atlanta, Georgia USA

Re: Using charts on web-based application

Postby Brian|Dyalog on Mon Jan 02, 2017 4:48 am

Hi Marco!

Happy New Year! You've asked a good question. There are several ways to use charts in a MiServer application and which is best can be a matter of considering a number of factors like
  • Where is the data?
  • Does the chart need to be interactive?
  • How comfortable are you with JavaScript?

As Woody has pointed out, Google Chart is one option. I don't have any hands-on experience with Google Chart, so I can't speak to how easy it is to use. But, I can give you a bit of guidance on some of the options I have used.
  • SharpPlot - this is the most APL "self-contained" solution. You use SharpPlot to generate your plots and then save them in svg format and link to or embed them in your MiPage. SharpPlot knows how to deal with APL data, so there's little conversion or JavaScript knowledge needed. If you know SharpPlot, this may be the easiest solution for you.

  • Syncfusion Chart Widget - the API to Syncfusion's chart widget is implemented in _.ejChart in MiServer 3.0. Syncfusion has a variety of highly customizable chart types. The sample MiServer 3 MiSite (MS3) has examples of using ejChart in /Examples/SF/ejChartSimple and /Examples/Misc/bubblechart. In addition, Syncfusion has a large collection of demo charts at http://js.syncfusion.com/demos/web/#!/bootstrap/chart/. A chart's options can easily be set using the Set method as shown in the samples. So, there's minimal knowledge of JavaScript needed.

  • D3/dimple - dimple (http://dimplejs.org/) is a JavaScript charting library built on top of the D3 data-driven documents library (https://d3js.org/). At Dyalog'16, Stefano demo'ed some very impressive interactive charting in the Sofia application which was implemented using D3. MiServer 3.0 has a minimal interface to D3 and dimple and examples can be found by browsing http://localhost:8080/examples/JS/ if you're running the off-the-shelf MiServer 3.0 sample MiSite. This option requires the most knowledge of MiServer/JavaScript integration.
There are also any number of other JavaScript charting libraries, but they would involve a bit more work to integrate into MiServer.

I hope this helps! And please post any other questions you have!

/Brian
User avatar
Brian|Dyalog
 
Posts: 116
Joined: Thu Nov 26, 2009 4:02 pm
Location: West Henrietta, NY

Re: Using charts on web-based application

Postby Gantois on Mon Jan 02, 2017 10:47 am

Hi Brian and Woodley!

Happy New Year and thanks for the guidance.

I just watched the SharpPlot Chart video (http://video.dyalog.com/Dyalog14/?v=it1MzL9DqlY). It's easy to define diferents kinds of graphics, get an apl script and, with litlle changes, create a function passing arguments for the charts. It is exactly what I need. Very good!

ps: in my webapp the data is on components files (I'm not comfortable with JavaScript).

Thanks,
Marco
Gantois
 
Posts: 80
Joined: Thu Apr 17, 2014 9:44 am


Return to MiServer

Who is online

Users browsing this forum: No registered users and 1 guest