Skip to content
Shekhar Prasad Rajak edited this page Jan 19, 2018 · 37 revisions

Read about daru-view here , before reading this.

One of the good feature daru-view provide is, we can use all the function/methods, that plotting tool already have; by accessing chart/table class using #chart or #table. But we are using google_visualr, lazy_highcharts gem to actually access the features present in Google charts JS, HighCharts.

Google charts tool

  • Since google charts have more features now and developers are keep updating it. It is important for us to extend google_visualr gems code in daru-view, i.e. adding more methods in daru/view/adapter/googlechart and use the features from the google chart js directly. (I am searching new features that can be used in daru-view)

  • DataView, ChartWrapper class, ChartEditor class; need to be implemented in daru/view/adapter/googlecharts.

HighCharts

  • Similarly Highcharts js are updated in official site and more features are added. So we must keep updating our daru-view gem adapter/highcharts; i.e. extend the lazy_high_charts code in daru-view. (need to see new features that can be used in daru-view)

  • Currently daru-view is just using Highcharts JS but we can use more features using HighMap and HighStock. Implementation of these features in daru/view/adapter/highcharts will be very useful. Also it will be usable offline. (Since in daru-view Highcharts adapter can be used fully offline)

There are many examples present on the Highcharts -> HighStock site and some advance examples in blog as well (like this).

DataTables

daru-data_tables is created only to use it in daru-view gem. But daru-data_tables gem is not fully completed. Currently it can display table in web applications but not iruby notebook (refer https://github.com/Shekharrajak/daru-data_tables/issues/2).

We want to load large set of data piece by piece as I discussed it here : https://datatables.net/forums/discussion/43379 But it is still not implemented.

Refer blog post for more info : http://shekharrajak.github.io/blog/GSoC-2017/Coding-Period-Week-7

There are many features we can add in daru-view/DataTables.

Updating js files

  • Google chart JS and highcharts js must be updated whenever user want. These dependent js files are updated in the official links. Refer : https://github.com/SciRuby/daru-view/issues/47

  • To make daru-view workable offline, it is loading the JS files in iruby notebook and web application. But when yousee the html source code, you see bunch of lines at the page because of js. We must have something like this

//= require daru-view/highcharts/highcharts
//= require daru-view/highcharts/highcharts-more
//= require daru-view/highcharts/highstock
//= require daru-view/googlecharts

to load js files. Refer : https://github.com/SciRuby/daru-view/issues/24#issuecomment-319287696


Note:

Contributor may need to understand the codebase of nyaplot, googlevisualr, lazy_highcharts, daru-data_tables to extend the feature. May be in near future we will remove these dependent gem(by adding all our required code into daru-view only) and use only daru-view code.

I am not expecting changes in dependent gems, since our requirement is to make it usable with daru gem and in iruby notebook as well as ruby web applications.

  • These are good to start with:
  1. https://github.com/SciRuby/daru-view/issues/67
  2. https://github.com/SciRuby/daru-view/issues/66
  3. There are many examples present in GoogleCharts and HighCharts site, that need to be present in spec/dummy_iruby examples. More examples will lead us to know more features and bugs present if any. refer: https://github.com/SciRuby/daru-view/issues/72

Questions

  • Can we create advance charts like this by extending the daru-view/highcharts code (i.e. creating methods. How will the data will be send? How those options will be set to modify the charts?)

  • Is it good idea to have some plugin (plugin in the sense, user can add more available adapters for plotting, using some command like daru-view add_adapter abc_charts)? Then user will be able to use it. I don't think it is good idea to have many adapters in daru-view itself. It must be easy to extend, when required.

Clone this wiki locally