<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4160083402181295671</id><updated>2026-08-21T03:55:11.129-07:00</updated><category term="Cubism"/><category term="D3"/><category term="ArcadiaCharts"/><category term="Dojo GFX"/><category term="Dygraphs"/><category term="Flotr"/><category term="GRaphaël"/><category term="Highcharts"/><category term="JSNI"/><category term="RGraph"/><category term="Rickshaw"/><category term="SmartGWT"/><category term="Timeplot"/><category term="jQuery Visualize"/><category term="jqPlot"/><category term="$doc"/><category term="$wnd"/><category term="Composite Design Pattern in Python"/><category term="Design Patterns"/><category term="Envision"/><category term="GWT"/><category term="GWT support"/><category term="Google Chart Tools"/><category term="HtmlFlow"/><category term="JSON"/><category term="JavaScript"/><category term="JavaScript Chart Libraries"/><category term="JavaScript Chart Library"/><category term="Milkchart"/><category term="html5 canvas"/><category term="html5 support"/><category term="mobile friendly"/><category term="svg"/><category term="vml"/><title type='text'>Faust. In search of happiness</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://kraskniga.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4160083402181295671/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://kraskniga.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05082657229513655893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>5</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4160083402181295671.post-4179983848068334295</id><published>2013-02-14T07:57:00.000-08:00</published><updated>2013-02-17T03:51:04.506-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Composite Design Pattern in Python"/><category scheme="http://www.blogger.com/atom/ns#" term="Design Patterns"/><title type='text'>Composite Design Pattern in Python</title><content type='html'>The structure of the composite design pattern, how it will look in Python and a succinct solution for example a console menu, that contain menu items, each of which could be a menu.
&lt;p/&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;
Design patterns have as their explicit supporters, as well as numerous critics. Supporters see them as almost a silver bullet that elegantly solves existing problems of the complexity in projects written in &lt;a href=&quot;http://en.wikipedia.org/wiki/Object-oriented_programming&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;OOP languages&lt;/a&gt;, like Smalltalk, C++, Java. Critics attribute this to the limitations of the OOP languages themselves and prove their elegant solutions in &lt;a href=&quot;http://en.wikipedia.org/wiki/Functional_programming_languages&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;functional programming languages&lt;/a&gt;.
&lt;p/&gt;
But is it worth to use Design Patterns in Python that has the properties of both groups?
&lt;p/&gt;

Below I give an example of using Composite pattern in Python, but i am almost sure that the same functionality can be implemented in a functional style. If You know how, it will be interesting to see your examples.
&lt;p/&gt;
In &lt;a href=&quot;http://www.amazon.de/gp/product/0201633612/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1638&amp;amp;creative=19454&amp;amp;creativeASIN=0201633612&amp;amp;linkCode=as2&amp;amp;tag=httpkraskniga-21&quot;&gt;classical literature&lt;/a&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; rel=&quot;nofollow&quot; src=&quot;http://www.assoc-amazon.de/e/ir?t=httpkraskniga-21&amp;amp;l=as2&amp;amp;o=3&amp;amp;a=0201633612&quot; style=&quot;border: none !important; margin: 0px !important;&quot; width=&quot;1&quot; /&gt; you can see the structure of the pattern like:

&lt;br/&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVgDUxUOcsQ72M_tylUk3uCvCyPHFkIraNFo83iaYAFML5M_xnORbKn8cjHq9EH7FTb1uGGJ7KRGqaKWOVWHxOpbXGXtZzuIXH-GW0ZWZxv90N_BAswsgb9DvtJ6lQ7ulFthgvjmqenacm/s1600/Composite.gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVgDUxUOcsQ72M_tylUk3uCvCyPHFkIraNFo83iaYAFML5M_xnORbKn8cjHq9EH7FTb1uGGJ7KRGqaKWOVWHxOpbXGXtZzuIXH-GW0ZWZxv90N_BAswsgb9DvtJ6lQ7ulFthgvjmqenacm/s1600/Composite.gif&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br/&gt;

But why use interfaces in python? We will use the simpler structure:
&lt;pre&gt;&lt;code&gt;
class Leaf:
    def do_this(self):
        pass

class Composite(Leaf):
    def do_this(self):
        pass
 
    def add_item(self):
        pass
&lt;/code&gt;&lt;/pre&gt;
It looks too easy. To be able to feel any benefit here is an example of the console menu development:
&lt;pre&gt;&lt;code&gt;
class MenuItem():

    def __init__(self, name, action):
        self.name = name
        self.action = action

    def __str__(self):
        return self.name

class Menu(MenuItem):

    def __init__(self, name):
        MenuItem.__init__(self, name, self.show_menu)
        self.items={}

    def add_item(self, item):
        self.items[len(self.items) + 1] = item

    def show_menu(self):
        choice = -1
        while choice:
            cls()
            print(self)
            choice = read_number()
            if choice in self.items:
                self.items[choice].action()

    def __str__(self):
        res_str = self.name + &#39;:\n0: Exit&#39;
        for i in self.items.keys():
            res_str += str.format(&#39;\n{}: {}&#39;, i, self.items[i].name)
        return res_str

# rest part of the code is auxiliary
def cls():
    print(80*&#39;\n&#39;)

def read_number(text = &#39;&#39;):
    INP=&#39;&gt;&gt;&#39;
    text += &#39;\n&#39; + INP if text else INP
    str = &#39;&#39;
    try:
        str = input(text)
        return int(str)
    except ValueError:
        press_enter(&quot;Error value: &#39;{}&#39;! Enter please the number&quot;.format(str))
        return -1

def press_enter(str = &#39;&#39;):
    str += &#39;\nPress Enter&#39;
    input(str)

if __name__ == &#39;__main__&#39;:
    main_menu = Menu(&#39;Main&#39;)
    main_menu.add_item(MenuItem(&#39;A&#39;, lambda : press_enter(&#39;A&#39;)))
    main_menu.add_item(MenuItem(&#39;B&#39;, lambda : press_enter(&#39;B&#39;)))
    sub_menu = Menu(&#39;Submenu&#39;)
    sub_menu.add_item(MenuItem(&#39;Sub D&#39;, lambda : press_enter(&#39;D&#39;)))
    sub_menu.add_item(MenuItem(&#39;Sub E&#39;, lambda : press_enter(&#39;E&#39;)))
    main_menu.add_item(sub_menu)
    main_menu.show_menu()
&lt;/code&gt;&lt;/pre&gt;
&lt;p/&gt;
You can also download full source:&amp;nbsp;&lt;a href=&quot;https://docs.google.com/file/d/0B42KTAiq11uQM3JudW9xcHRXMGc/edit&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;compositeDP.py&lt;/a&gt;
&lt;p/&gt;</content><link rel='replies' type='application/atom+xml' href='http://kraskniga.blogspot.com/feeds/4179983848068334295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kraskniga.blogspot.com/2013/02/composite-design-pattern-in-python.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4160083402181295671/posts/default/4179983848068334295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4160083402181295671/posts/default/4179983848068334295'/><link rel='alternate' type='text/html' href='http://kraskniga.blogspot.com/2013/02/composite-design-pattern-in-python.html' title='Composite Design Pattern in Python'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05082657229513655893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVgDUxUOcsQ72M_tylUk3uCvCyPHFkIraNFo83iaYAFML5M_xnORbKn8cjHq9EH7FTb1uGGJ7KRGqaKWOVWHxOpbXGXtZzuIXH-GW0ZWZxv90N_BAswsgb9DvtJ6lQ7ulFthgvjmqenacm/s72-c/Composite.gif" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4160083402181295671.post-7828860053128835720</id><published>2012-08-24T23:59:00.001-07:00</published><updated>2012-08-25T03:15:18.814-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Cubism"/><category scheme="http://www.blogger.com/atom/ns#" term="D3"/><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript"/><category scheme="http://www.blogger.com/atom/ns#" term="JSNI"/><category scheme="http://www.blogger.com/atom/ns#" term="JSON"/><category scheme="http://www.blogger.com/atom/ns#" term="SmartGWT"/><title type='text'>Integration Time Series Visualization Cubism.js in SmartGWT</title><content type='html'>This article demonstrates the integration JS library Cubism.js in SmartGWT application.
Provides examples of configuration and guidelines for the project preparation to integration.
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;I assume that you are familiar with SmartGWT, so I will not describe this framework.
It is better to focus on the task - integrate graphics library visualization to SmartGWT.
&lt;br /&gt;
&lt;a href=&quot;http://kraskniga.blogspot.com/2012/05/choice-free-javascript-data.html#Cubism&quot;&gt;Cubism.js&lt;/a&gt; it is JavaScript Library with realtime time series visualization support. It based on the &lt;a href=&quot;http://kraskniga.blogspot.com/2012/05/choice-free-javascript-data.html#D3&quot;&gt;D3&lt;/a&gt; library. Cubism.js library supports two types of charts: &lt;a href=&quot;https://github.com/square/cubism/wiki/Horizon&quot;&gt;horizon&lt;/a&gt; and &lt;a href=&quot;https://github.com/square/cubism/wiki/Comparison&quot;&gt;comparison&lt;/a&gt;.

&lt;p/&gt;
So, let&#39;s start.
&lt;p/&gt;
First of all, we need to ensure the availability of library from GWT hosted page.
If this is not done, then JS debugger will constantly says &quot;the library not found&quot; and therefore nothing will work.
&lt;br /&gt;
&lt;h3&gt;
Loading JS libraries into the project&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
    Download libraries from github &lt;a href=&quot;https://github.com/square/cubism&quot;&gt;cubism.v1.js&lt;/a&gt;, &lt;a href=&quot;http://d3js.org/d3.v2.js&quot;&gt;d3.v2.js&lt;/a&gt; and place its into webapp directory of the yours project;
    &lt;/li&gt;
&lt;li&gt;
    Add two lines to the file of your project_name.gwt.xml:

&lt;pre&gt;&lt;code&gt;
&amp;lt;script src=&quot;d3.v2.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script src=&quot;cubism.v1.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
    Add two lines to the file of your project
&lt;pre&gt;&lt;code&gt;
&amp;lt;script type=&quot;text/javascript&quot; language=&quot;javascript&quot;
            src=&quot;d3.v2.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script type=&quot;text/javascript&quot; language=&quot;javascript&quot;
            src=&quot;cubism.v1.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
    Start your Application server and verify that the files are available at URL.
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
Write a JSNI method&lt;/h3&gt;
&lt;br/&gt;
Now that connected all the JS libraries, we can begin programming JSNI.
The code for the JSNI method:
&lt;pre&gt;&lt;code class=&quot;js&quot;&gt;
public native void drawCharts() /*-{
    var context = $wnd.cubism.context()        
        .serverDelay(this.@full.class.Name::serverDelay) 
        .clientDelay(this.@full.class.Name::clientDelay)
        .step(this.@full.class.Name::step)
        .size(this.full.class.Name::width);

    var chartDiv = &quot;#&quot; + this.@full.class.Name::chartId;
    var jsonMetrics = eval(this.@full.class.Name::getMetrics()());

    var metrics = [];
    var self = this;

    function createMetric(name, metricIndex)
    {
        var metric = context.metric(function (start, stop, step, callback)
        {

            var jsonPoints = self.@full.class.Name::getPoints(IDD)(metricIndex,
                    start.getTime(), stop.getTime());
            try
            {
                var json = jsonPoints ? eval(&quot;tmp=&quot; + jsonPoints) : null;
            }
            catch (e)
            {
                alert(e + jsonPoints);
            }
            callback(null, json);
        }, name);
        metrics.push(metric);
        return metric;
    }

    var selection = $wnd.d3.select(chartDiv)
            .call(function (div)
            {
                div.append(&quot;div&quot;)
                        .attr(&quot;class&quot;, &quot;axis&quot;)
                        .call(context.axis().orient(&quot;top&quot;));
                div.append(&quot;div&quot;)
                        .attr(&quot;class&quot;, &quot;rule&quot;)
                        .call(context.rule());
            });
    for (var i = 0; i &lt; jsonMetrics.length; i++)
    {
        var jsonMetric = jsonMetrics[i];
        var metricI = createMetric(jsonMetric.label, jsonMetric.metricIndex);
        var horizonI;

        if (jsonMetric.metricUnit != &#39;PERCENTAGE&#39;)
        {
            horizonI = context.horizon();
        }
        else
        {
            horizonI = context.horizon()
                    .format($wnd.d3.format(&quot;.2%&quot;));
        }
        selection.call(function (div)
        {
            div.datum(metricI);
            div.append(&quot;div&quot;)
                    .attr(&quot;class&quot;, &quot;horizon&quot;)
                    .call(horizonI);
        });
    }
    // On mousemove, reposition the chart values to match the rule.
    context.on(&quot;focus&quot;, function (i)
    {
        $wnd.d3.selectAll(&quot;.value&quot;)
                .style(&quot;right&quot;, i == null ? null : context.size() - i + &quot;px&quot;);
    });
}-*/;
&lt;/code&gt;&lt;/pre&gt;

A little explanation.

This code create and initialize a Cubims context:
&lt;pre&gt;&lt;code class=&quot;js&quot;&gt;
var context = $wnd.cubism.context()        
    .serverDelay(this.@full.class.Name::serverDelay) 
    .clientDelay(this.@full.class.Name::clientDelay)
    .step(this.@full.class.Name::step)
    .size(this.@full.class.Name::width);
&lt;/code&gt;&lt;/pre&gt;
Where
&lt;pre&gt;&lt;code class=&quot;js&quot;&gt;
this.@full.class.Name::serverDelay,
this.@full.class.Name::clientDelay,
this.@full.class.Name::step,
this.@full.class.Name::width
&lt;/code&gt;&lt;/pre&gt;
are fields of class.
&lt;br /&gt;
Here we customize the div id. This is necessary so that we can use multiple charts on one page:
&lt;pre&gt;&lt;code class=&quot;js&quot;&gt;
var chartDiv = &quot;#&quot; + this.@full.class.Name::chartId;
&lt;/code&gt;&lt;/pre&gt;
&lt;br/&gt;
Here we obtain a chart metrics from java:
&lt;pre&gt;&lt;code class=&quot;js&quot;&gt;
var jsonMetrics = eval(this.@full.class.Name::getMetrics()());
&lt;/code&gt;&lt;/pre&gt;
Java method &lt;i&gt;getMetrics&lt;/i&gt; generates JSON structure:
&lt;pre&gt;&lt;code class=&quot;java&quot;&gt;
public String getJSONMetrics(List&lt;MetricDisplaySummary&gt; metrics)
{
    String s = &quot;[&quot;;
    MetricDisplaySummary metric;
    for (int i = 0; i &lt; metrics.size(); i++)
    {
        metric = metrics.get(i);
        s += &quot; {label:&#39;&quot; + metric.getLabel() + &quot;&#39;,metricIndex:&quot; + i
            + &quot;,metricName:&#39;&quot; + metric.getMetricName() + &quot;&#39;,metricUnit:&#39;&quot;
            + metric.getUnits() + &quot;&#39;},&quot;;
    }
    s += &quot;]&quot;;
    return s;
}
&lt;/code&gt;&lt;/pre&gt;
Cubism request periodically a data with &#39;step&#39; interval:
&lt;pre&gt;&lt;code class=&quot;js&quot;&gt;
var jsonPoints = self.@full.class.Name::getPoints(IDD)(metricIndex,
        start.getTime(), stop.getTime());
&lt;/code&gt;&lt;/pre&gt;
Constantly calling this method, Cubism provides visualization of data in real time. Note the method signature - cubism requests data for the period from &quot;start&quot; to &quot;stop&quot;. The data will look more beautiful if in this period will be at least one point on the &quot;step&quot; interval.
&lt;br/&gt;
The last point about build the graph:
&lt;pre&gt;&lt;code class=&quot;js&quot;&gt;
for (var i = 0; i &lt; jsonMetrics.length; i++)
{
    var jsonMetric = jsonMetrics[i];
    var metricI = createMetric(jsonMetric.label, jsonMetric.metricIndex);
    var horizonI;

    if (jsonMetric.metricUnit != &#39;PERCENTAGE&#39;)
    {
        horizonI = context.horizon();
    }
    else
    {
        horizonI = context.horizon()
                .format($wnd.d3.format(&quot;.2%&quot;));
    }
    selection.call(function (div)
    {
        div.datum(metricI);
        div.append(&quot;div&quot;)
                .attr(&quot;class&quot;, &quot;horizon&quot;)
                .call(horizonI);
    });
}
&lt;/code&gt;&lt;/pre&gt;
In this loop shows you how you can customize each metric separately, including to set the height, colors, units, etc. So in your hands have a full control of the graph building and you can use all library visualization features.
&lt;p/&gt;
Written above is enough to integrate Cubism graphs in SmartGWT. I will share experiences, how to make this code more concise. GWT developers recommend to use JSNI code very sparingly. In this example JSNI used except a plot building also to initialize the metrics and data acquisition. The result is a need to write additional code. Much more practical to implement in your project getting metrics and data via REST API in JSON format. Then your JSNI code will be able to get the data yourself, as most JS visualization libraries involves obtaining data this way. And once implementing REST API + JSON, you get rid of binding in the java code to a specific JS library and can easily replace visualization library if necessary.
&lt;p&gt;
&lt;p/&gt;
&lt;h3&gt;References:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
Cubism.js: &lt;a href=&quot;http://square.github.com/cubism&quot;&gt;http://square.github.com/cubism&lt;/a&gt;; 
&lt;/li&gt;
&lt;li&gt;
JSNI Coding Basics: &lt;a href=&quot;https://developers.google.com/web-toolkit/doc/latest/DevGuideCodingBasicsJSNI&quot;&gt;https://developers.google.com/web-toolkit/doc/latest/DevGuideCodingBasicsJSNI&lt;/a&gt;;
&lt;/li&gt;
&lt;li&gt;
SmartGWT documentation: &lt;a href=&quot;http://www.smartclient.com/product/documentation.jsp&quot;&gt; http://www.smartclient.com/product/documentation.jsp&lt;/a&gt;.
&lt;/li&gt;
&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://kraskniga.blogspot.com/feeds/7828860053128835720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kraskniga.blogspot.com/2012/08/integration-time-series-visualization.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4160083402181295671/posts/default/7828860053128835720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4160083402181295671/posts/default/7828860053128835720'/><link rel='alternate' type='text/html' href='http://kraskniga.blogspot.com/2012/08/integration-time-series-visualization.html' title='Integration Time Series Visualization Cubism.js in SmartGWT'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05082657229513655893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4160083402181295671.post-7473663344308979237</id><published>2012-08-23T22:52:00.001-07:00</published><updated>2012-08-25T01:24:43.833-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="$doc"/><category scheme="http://www.blogger.com/atom/ns#" term="$wnd"/><category scheme="http://www.blogger.com/atom/ns#" term="GWT"/><category scheme="http://www.blogger.com/atom/ns#" term="HtmlFlow"/><category scheme="http://www.blogger.com/atom/ns#" term="JSNI"/><category scheme="http://www.blogger.com/atom/ns#" term="SmartGWT"/><title type='text'>Using third-party JS libraries in SmartGWT</title><content type='html'>&lt;br /&gt;
Although GWT frameworks and include it their words &quot;richest set of GWT UI components&quot;, in fact, it turns out, for example, that their ability to visualization a very, very limited or practically absent in the free version (SmartGWT). As a result, finding the desired functionality in the libraries of JavaScript, in sight seeing such wonderful things as &lt;a href=&quot;http://kraskniga.blogspot.com/2012/05/choice-free-javascript-data.html#gRapha%C3%ABl&quot;&gt;Raphaël&lt;/a&gt; and &lt;a href=&quot;http://kraskniga.blogspot.com/2012/05/choice-free-javascript-data.html#D3&quot;&gt;D3&lt;/a&gt;.&lt;br /&gt;
In fact, it turns out that the use of Smart GWT&#39;s extensive server-side components are not as easy as expected. How to do this is described below.&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
First, came the idea to use &lt;b&gt;HtmlFlow&lt;/b&gt;, especially since this class supports the method: 
&lt;pre&gt;&lt;code&gt;
setEvalScriptBlocks(Boolean evalScriptBlocks)
&lt;/code&gt;&lt;/pre&gt;
After futile attempts, i &lt;a href=&quot;http://stackoverflow.com/questions/7798138/how-to-add-a-javascriptobject-result-to-a-particular-place-of-the-resulting-html%20&quot;&gt;found information&lt;/a&gt; that this method is not suitable for our purposes.
&lt;p /&gt;
&lt;b&gt;JSNI&lt;/b&gt; - &lt;i&gt;JavaScript Native Interface&lt;/i&gt; best suited for this task. In short, you create a native Java method and conclude your JavaScript code in a special comments:
&lt;pre&gt;&lt;code&gt;
public static native void drawChart(String chartId) /*-{
    ... your code ...
}-*/;   
&lt;/code&gt;&lt;/pre&gt;
Inside the method, you can access to class fields, using the signature:
&lt;pre&gt;&lt;code&gt;
obj.@className::fieldName
&lt;/code&gt;&lt;/pre&gt;
Also you can access to static and instance class methods:
&lt;pre&gt;&lt;code&gt;
[instance-expr.]@class-name::method-name(param-signature)(arguments)
&lt;/code&gt;&lt;/pre&gt;
I want to mention one more important thing. Your JSNI JavaScript code will be slightly different from the standard JS code that may need to use &lt;b&gt;$wnd&lt;/b&gt; to access window object and &lt;b&gt;$doc&lt;/b&gt; to access document object. If you get a JavaScript error on the page, &quot;JavaScript library is not found&quot;, even though it has access from WEB-server - this is exactly the case. 
&lt;p /&gt;
Another detail - you can not use java arays even primitive types like String [] or int [] in your JSNI code. It is unclear why the developers are not yet implemented this feature. Instead it is proposed to use JsArrays:
&lt;pre&gt;&lt;code&gt;
native JsArray getNativeArray() /*-{
    return [ { x: 0, y: 1}, { x: 2, y: 3}, { x: 4, y: 5}, ];
}-* /;
&lt;/code&gt;&lt;/pre&gt;
or can write method, that also return JSON structure, for example:
&lt;pre&gt;&lt;code&gt;
public String getJSONPoints(int metricIndex, long start, long stop)
{
    Collection&amp;lt;Double&amp;gt; points = pointsStorage
        .get(metricIndex)
        .getValues(start, stop);
    String s = &quot;[&quot;;
    for (Double point : points)
    {
        s += point + &quot;,&quot;;
    }
    s += &quot;]&quot;;
    return s;
}
&lt;/code&gt;&lt;/pre&gt;
and then in JavaScript: 
&lt;pre&gt;&lt;code&gt;
var jsonPoints = eval(this.@class-name::getPoints(IDD)(metricIndex, 
        start.getTime(), stop.getTime()));
&lt;/code&gt;&lt;/pre&gt;
Knowing these basics will allow to write JSNI code. Writing JSNI methods is a powerful technique, but developers recommend used it sparingly. 
&lt;p/&gt;
&lt;h3&gt;References:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
HtmlFlow: &lt;a href=&quot;http://www.smartclient.com/smartgwt/javadoc/com/smartgwt/client/widgets/HTMLFlow.html&quot;&gt;http://www.smartclient.com/smartgwt/javadoc/com/smartgwt/client/widgets/HTMLFlow.html&lt;/a&gt;; 
&lt;/li&gt;
&lt;li&gt;
&lt;a href=&quot;http://www.google.ru/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=2&amp;amp;cad=rja&amp;amp;ved=0CCcQFjAB&amp;amp;url=http%3A%2F%2Fcourses.coreservlets.com%2FCourse-Materials%2Fpdf%2Fajax%2FGWT-JSNI.pdf&amp;amp;ei=Y_E2UObVN4zorQeE3IDoAw&amp;amp;usg=AFQjCNE6f8w9D5p1Uu65IleSmoDQhYEz6w&amp;amp;sig2=kommgXYNx3wbYvzLSWIv-w&quot;&gt;JSNI presentation&lt;/a&gt;;
&lt;/li&gt;
&lt;li&gt;
JSNI Coding Basics: &lt;a href=&quot;https://developers.google.com/web-toolkit/doc/latest/DevGuideCodingBasicsJSNI&quot;&gt;https://developers.google.com/web-toolkit/doc/latest/DevGuideCodingBasicsJSNI&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://kraskniga.blogspot.com/feeds/7473663344308979237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kraskniga.blogspot.com/2012/08/using-third-party-js-libraries-in.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4160083402181295671/posts/default/7473663344308979237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4160083402181295671/posts/default/7473663344308979237'/><link rel='alternate' type='text/html' href='http://kraskniga.blogspot.com/2012/08/using-third-party-js-libraries-in.html' title='Using third-party JS libraries in SmartGWT'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05082657229513655893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4160083402181295671.post-4881153786473263106</id><published>2012-06-05T19:11:00.001-07:00</published><updated>2012-08-26T22:01:23.702-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ArcadiaCharts"/><category scheme="http://www.blogger.com/atom/ns#" term="Cubism"/><category scheme="http://www.blogger.com/atom/ns#" term="D3"/><category scheme="http://www.blogger.com/atom/ns#" term="Dojo GFX"/><category scheme="http://www.blogger.com/atom/ns#" term="Dygraphs"/><category scheme="http://www.blogger.com/atom/ns#" term="Envision"/><category scheme="http://www.blogger.com/atom/ns#" term="Flotr"/><category scheme="http://www.blogger.com/atom/ns#" term="GRaphaël"/><category scheme="http://www.blogger.com/atom/ns#" term="GWT support"/><category scheme="http://www.blogger.com/atom/ns#" term="Highcharts"/><category scheme="http://www.blogger.com/atom/ns#" term="html5 support"/><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript Chart Libraries"/><category scheme="http://www.blogger.com/atom/ns#" term="jqPlot"/><category scheme="http://www.blogger.com/atom/ns#" term="jQuery Visualize"/><category scheme="http://www.blogger.com/atom/ns#" term="mobile friendly"/><category scheme="http://www.blogger.com/atom/ns#" term="RGraph"/><category scheme="http://www.blogger.com/atom/ns#" term="Rickshaw"/><category scheme="http://www.blogger.com/atom/ns#" term="Timeplot"/><title type='text'>Comparison of JavaScript Data Visualization Libraries</title><content type='html'>In my previous review &lt;a href=&quot;http://kraskniga.blogspot.com/2012/05/choice-free-javascript-data.html#more&quot;&gt;Choice Free JavaScript Data Visualization Library &lt;/a&gt;was considered more also 20 popular among developers JavaScript solutions for charts. In addition to a short description and a graphic example each library was considered from a perspectives of the licensing, visualization technology, HTML5 support and capability of the integration with GWT. In this review for Clarity these and additional characteristics combine in a matrix.&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
The intention of this comparison is to show some examples of JavaScript Data Visualization libraries with their different features.&lt;br /&gt;
&lt;br /&gt;
Another important aspect which should be considered in the comparison is the support from community (i.e. # of users/developers/commits in last month, etc.) for that JS charting library. Although it is hard to gather this kind of information, I think it is the most valuable for the final decision.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;


Table of Javascript Data Visualization Libraries&lt;/h2&gt;
&lt;style type=&quot;text/css&quot;&gt;
#bigTable {
    position: relative; 
    left: -30%;
    z-index:1; 
   }
table.colorTable {
    border-collapse: collapse;
    border-color: #000000;
    border-spacing: 0px;
    border-style: solid;
    border-width: 1px
}
&lt;/style&gt;

&lt;br /&gt;
&lt;div id=&quot;bigTable&quot;&gt;
&lt;table align=&quot;CENTER&quot; bgcolor=&quot;#ffffff&quot; border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;colorTable&quot; id=&quot;jsTable&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;&lt;br /&gt;&lt;/th&gt;
&lt;th&gt;Chart types by category &lt;/th&gt;
&lt;th&gt;HTML5 canvas capable (fallback method)&lt;/th&gt;
&lt;th&gt;Size &lt;/th&gt;
&lt;th&gt;GWT support&lt;/th&gt;
&lt;th&gt;Dependency on other js libs&lt;/th&gt;
&lt;th&gt;Mobile friendly&lt;/th&gt;
&lt;th&gt;Level of interactiveness &lt;/th&gt;
&lt;th&gt;License&lt;/th&gt;
&lt;th&gt;Can incorporate custom graphics (background images, icons)&lt;/th&gt;
&lt;th&gt;Largest Sites currently using&lt;/th&gt;
&lt;th&gt;Project health (mailing list traffic, Stack Overflow questions)&lt;/th&gt;
&lt;th&gt;Formats supported &lt;/th&gt;
&lt;th&gt;Interesting features&lt;/th&gt;
&lt;/tr&gt;
&lt;tr align=&quot;CENTER&quot;&gt;
&lt;td&gt;&lt;a href=&quot;http://www.arcadiacharts.com/&quot;&gt;arcadiaCharts&lt;/a&gt;&lt;/td&gt;
&lt;td class=&quot;colorTable&quot;&gt;line, area, pie, donut, bar, column, scatter, xy, logarithmic scale charts, time plot&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td&gt;variable JavaScript Version - 9,7 Mb&lt;br /&gt;
GWT Version - 3,6 Mb &lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;hovers and follows&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://www.arcadiacharts.com/arcadiacharts-download&quot;&gt;ArcadiaCharts license&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;td&gt;Latest realease Jan-13-2012&lt;/td&gt;
&lt;td&gt;png&lt;/td&gt;
&lt;td&gt;apply color and style, Axis types, CSV data import&lt;/td&gt;
&lt;/tr&gt;
&lt;tr align=&quot;CENTER&quot;&gt;
&lt;td&gt;&lt;a href=&quot;http://square.github.com/cubism/&quot;&gt;Cubism.js&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;realtime series&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td&gt;78,5 Kb &lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://d3js.org/&quot;&gt;D3&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;hovers and follows&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://github.com/square/cubism/blob/master/LICENSE&quot; target=&quot;_blank&quot;&gt;Apache License&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;7 commits , 20 wiki messages in last month&lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;td&gt;scalable, effective (each pixel encodes a distinct point in time), data-source agnostic&lt;/td&gt;
&lt;/tr&gt;
&lt;tr align=&quot;CENTER&quot;&gt;
&lt;td&gt;&lt;a href=&quot;http://d3js.org/&quot;&gt;D3&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;arc, polar area, gantt, timelines and timing, sankey, candlestick, data table, hypergraph&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td&gt;109 Kb&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;hovers and follows&lt;/td&gt;
&lt;td&gt;BSD license&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;td&gt;6 commits, 30 new wiki messages, 1796 search results and 179 new topics on &lt;a href=&quot;http://stackoverflow.com/&quot; target=&quot;_blank&quot;&gt;stackoverflow&lt;/a&gt; in last month&lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;td&gt;a large number of solutions for data visualization&lt;/td&gt;
&lt;/tr&gt;
&lt;tr align=&quot;CENTER&quot;&gt;
&lt;td&gt;&lt;a href=&quot;http://dojotoolkit.org/features/graphics-and-charting&quot;&gt;Dojo GFX&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;bar, line, pie, bubble, candleStick, area, scatter, high-low, column, stacked, clustered and spider&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;variable, from 31 Kb up to 3,7 Mb&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td&gt;hovers and follows&lt;/td&gt;
&lt;td&gt;modified BSD license/&lt;i&gt;&lt;/i&gt; the Academic Free License version 2.1&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;16 search results on &lt;a href=&quot;http://stackoverflow.com/&quot; target=&quot;_blank&quot;&gt;stackoverflow.&lt;/a&gt;&lt;br /&gt;
Books: &lt;a href=&quot;http://www.amazon.com/Dojo-The-Definitive-Guide-ebook/dp/B0043EWVGK/ref=sr_1_2?ie=UTF8&amp;amp;qid=1339156666&amp;amp;sr=8-2&quot; target=&quot;_blank&quot;&gt;Dojo: The Definitive Guide&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;http://www.amazon.com/Practical-Dojo-Projects/dp/1430210664&quot; target=&quot;_blank&quot;&gt;Practical Dojo Projects&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;http://www.amazon.com/Learning-Dojo-Peter-Svensson/dp/1847192688/&quot; target=&quot;_blank&quot;&gt;Learning Dojo&lt;/a&gt;, etc.&lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;td&gt;supports gauges, openLayers maps and geo charting&lt;/td&gt;
&lt;/tr&gt;
&lt;tr align=&quot;CENTER&quot;&gt;
&lt;td&gt;&lt;a href=&quot;http://dygraphs.com/&quot;&gt;dygraphs&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;area, bar, candlestick, line 
&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td&gt;69 Kb&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td&gt;hovers, follows and zooming&lt;/td&gt;
&lt;td&gt;MIT&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://iswa.ccmc.gsfc.nasa.gov:8080/IswaSystemWebApp/index.jsp?i_1=388&amp;amp;l_1=99&amp;amp;t_1=316&amp;amp;w_1=800&amp;amp;h_1=400&amp;amp;s_1=0%213%210%21ACE.B_x%21ACE.B_y%21ACE.B_z%21&quot; target=&quot;_blank&quot;&gt;Integrated    Space Weather Analysis System&lt;/a&gt;, &lt;a href=&quot;http://www.eutelsat.fr/&quot; target=&quot;_blank&quot;&gt;Eutelsat&lt;/a&gt;, &lt;a href=&quot;http://www.10gen.com/mongodb-monitoring-service&quot; target=&quot;_blank&quot;&gt;10gen MongoDB    Monitoring Service&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;34 search results and 1 new topics on &lt;a href=&quot;http://stackoverflow.com/&quot; target=&quot;_blank&quot;&gt;stackoverflow&lt;/a&gt;&amp;nbsp; in last month &lt;/td&gt;
&lt;td&gt;png&lt;/td&gt;
&lt;td&gt;Supports error bands around data series, can intelligently chart fractions, customizable click-through actions  
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr align=&quot;CENTER&quot;&gt;
&lt;td&gt;&lt;a href=&quot;http://code.google.com/p/flot/&quot;&gt;Flot&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;bars, lines, points, filled areas, time series, pie, stacked charts&amp;nbsp; any
    combinations of these, in the same plot and even on the same data
    series&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td&gt;core size is 37 Kb, plugins vary in size&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes, &lt;a href=&quot;http://code.google.com/p/gflot/&quot; target=&quot;_blank&quot;&gt;gflot&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://jquery.com/&quot; target=&quot;_blank&quot;&gt;jQuery&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes,&amp;nbsp; all iOS and most Android devices&lt;/td&gt;
&lt;td&gt;legends, hovers and drilldowns, panning, zooming, mouse tracking, automatically redraw when window is resized&lt;/td&gt;
&lt;td&gt;MIT/BSD&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;td&gt;873 search results and 39 new topics on &lt;a href=&quot;http://stackoverflow.com/&quot; target=&quot;_blank&quot;&gt;stackoverflow &lt;/a&gt;and 25 new topics on groups in last month&lt;a href=&quot;http://stackoverflow.com/&quot; target=&quot;_blank&quot;&gt;&lt;br /&gt;&lt;/a&gt;
&lt;/td&gt;
&lt;td&gt;jpg, png&lt;/td&gt;
&lt;td&gt;using various symbols for points, multiple axis plotting prerendered images and many other&lt;/td&gt;
&lt;/tr&gt;
&lt;tr align=&quot;CENTER&quot;&gt;
&lt;td&gt;&lt;a href=&quot;http://solutoire.com/flotr/&quot;&gt;Flotr&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;histograms, lines, points, pie, candle sticks, radar, markers&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;67.4 Kb&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://prototypejs.org/&quot;&gt;Prototype Javascript Framework&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;hovers and follows&lt;/td&gt;
&lt;td&gt;MIT&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;td&gt;60 search results and 2 new topics on &lt;a href=&quot;http://stackoverflow.com/&quot; target=&quot;_blank&quot;&gt;stackoverflow&lt;/a&gt;&amp;nbsp; in last month, available only alpha version &lt;/td&gt;
&lt;td&gt;png&lt;/td&gt;
&lt;td&gt;easy to learn syntax  &lt;/td&gt;
&lt;/tr&gt;
&lt;tr align=&quot;CENTER&quot;&gt;
&lt;td&gt;&lt;a href=&quot;http://www.humblesoftware.com/flotr2/index&quot;&gt;Flotr2&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;bar, line, candlestick, area, scatter, whisker, bubbles, timeline, time, pie, radar&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes, (IE support with FlashCanvas and excanvas)&lt;/td&gt;
&lt;td&gt;variable, from 31 Kb up to 656 Kb&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes, built for performance and includes touch events / multi touch&lt;/td&gt;
&lt;td&gt;select, zoom, pointer tracking, hovers, robust internal event system&lt;/td&gt;
&lt;td&gt;MIT&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;td&gt;10 earch results and 2 new topics on &lt;a href=&quot;http://stackoverflow.com/&quot; target=&quot;_blank&quot;&gt;stackoverflow&lt;/a&gt;&amp;nbsp; in last month &lt;/td&gt;
&lt;td&gt;jpg, png&lt;/td&gt;
&lt;td&gt;extensible plugin framework, tuned for performance. JSON api, programmable for interactivity&lt;/td&gt;
&lt;/tr&gt;
&lt;tr align=&quot;CENTER&quot;&gt;
&lt;td&gt;&lt;a href=&quot;https://google-developers.appspot.com/chart/interactive/docs/index&quot;&gt;Google Chart Tools&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;pie, scatter, gauge, geo, combo, line, bar, area, candlestick&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td&gt;works on the principle &quot;chart as service&quot;&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td&gt;hovers and follows&lt;/td&gt;
&lt;td&gt;&lt;a class=&quot;dcx-tos-contiguous&quot; href=&quot;http://developers.google.com/terms&quot; target=&quot;_blank&quot;&gt;Terms of Service&lt;/a&gt;.&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;td&gt;135 search results and 8 new topics on &lt;a href=&quot;http://stackoverflow.com/&quot; target=&quot;_blank&quot;&gt;stackoverflow&lt;/a&gt;&amp;nbsp; in last month &lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr align=&quot;CENTER&quot;&gt;
&lt;td&gt;&lt;a href=&quot;http://g.raphaeljs.com/&quot;&gt;gRaphaël&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;pie, bar,line, dot
&lt;/td&gt;&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;g.raphael.js - 10 Kb, g.pie.js - 4 Kb, g.bar.js - 8 Kb, g.line.js - 4 Kb, g.dot.js - 2.5 Kb&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://raphaeljs.com/&quot; title=&quot;Raphaël—JavaScript Library&quot;&gt;Raphaël&lt;/a&gt; &lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;hovers and follows&lt;/td&gt;
&lt;td&gt;MIT&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;td&gt;108 search results and 5 new topics on &lt;a href=&quot;http://stackoverflow.com/&quot; target=&quot;_blank&quot;&gt;stackoverflow&lt;/a&gt;&amp;nbsp; in last month &lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;td&gt;small JavaScript library&lt;/td&gt;
&lt;/tr&gt;
&lt;tr align=&quot;CENTER&quot;&gt;
&lt;td&gt;&lt;a href=&quot;http://www.highcharts.com/&quot;&gt;Highcharts&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;line, spline, area, areaspline, column, bar, pie and scatter &lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;311 Kb&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td&gt;hovers, follows and zooming&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://shop.highsoft.com/highcharts.html&quot; target=&quot;_blank&quot;&gt;highcharts license&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;td&gt;1001 search results and 118 new topics on &lt;a href=&quot;http://stackoverflow.com/&quot; target=&quot;_blank&quot;&gt;stackoverflow&lt;/a&gt;&amp;nbsp; in last month &lt;/td&gt;
&lt;td&gt;jpg,png, pdf, svg&lt;/td&gt;
&lt;td&gt;rich in its capabilities library&lt;/td&gt;
&lt;/tr&gt;
&lt;tr align=&quot;CENTER&quot; style=&quot;color: silver;&quot;&gt;
&lt;td&gt;&lt;a href=&quot;http://www.humblesoftware.com/finance/index&quot;&gt;Humble Finance&lt;/a&gt;(library are no longer supported)&lt;/td&gt;
&lt;td&gt;two 2d data sets which share an axis&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td&gt;up to 3.7 Mb&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://prototypejs.org/&quot;&gt;Prototype&amp;nbsp; &lt;/a&gt;and &lt;a href=&quot;http://solutoire.com/flotr/&quot;&gt;Flotr&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;hovers, follows and zooming&lt;/td&gt;
&lt;td&gt;MIT&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;td&gt;3 search results on &lt;a href=&quot;http://stackoverflow.com/&quot; target=&quot;_blank&quot;&gt;stackoverflow&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;td&gt;this tool lends itself well to the display of financial data&lt;/td&gt;
&lt;/tr&gt;
&lt;tr align=&quot;CENTER&quot;&gt;
&lt;td&gt;&lt;a href=&quot;http://www.humblesoftware.com/envision&quot;&gt;Envision.js&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;real-time, timeSeries, finance, custom (fractal)&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td&gt;up to 1.3 Mb&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://www.humblesoftware.com/flotr2/index&quot;&gt;Flotr2&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;hovers, follows and zooming&lt;/td&gt;
&lt;td&gt;MIT&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;td&gt;5 new topics on groups in last month&lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;td&gt;Allows you to create dynamic and interactive HTML5 visualizations&lt;/td&gt;
&lt;/tr&gt;
&lt;tr align=&quot;CENTER&quot;&gt;
&lt;td&gt;&lt;a href=&quot;http://thejit.org/&quot;&gt;JavaScript InfoVis Toolkit&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;area, bar, pie, treemap, sunburst, icicle, spaceTree, rGraph, hyperTree&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td&gt;308 Kb&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td&gt;hovers and follows&lt;/td&gt;
&lt;td&gt;MIT&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;td&gt;76 search results and 3 new topics on &lt;a href=&quot;http://stackoverflow.com/&quot; target=&quot;_blank&quot;&gt;stackoverflow&lt;/a&gt;&amp;nbsp; in last month &lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;td&gt;a large number of solutions for data visualization&lt;/td&gt;
&lt;/tr&gt;
&lt;tr align=&quot;CENTER&quot;&gt;
&lt;td&gt;&lt;a href=&quot;http://www.jqplot.com/&quot;&gt;jqPlot&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;bar, line, area, xy, scatter, combo, pie, donut, column, logarithmic scale charts, time plot&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td&gt;variable. Core size is 172 Kb, with all additional plugins up to 493 Kb&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://jquery.com/&quot; target=&quot;_blank&quot;&gt;jQuery&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes. There are plugins for mobile support&lt;/td&gt;
&lt;td&gt;hover, highlighting, legends, click to turn toggle series on/off, tooltips, etc&lt;/td&gt;
&lt;td&gt;MIT/GPL v2&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://www.wikimedia.org/&quot; target=&quot;_blank&quot;&gt;Wikimedia&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;active project with 73 forks.. 526 search results and 55 new topics on &lt;a href=&quot;http://stackoverflow.com/&quot; target=&quot;_blank&quot;&gt;stackoverflow&lt;/a&gt;, &amp;nbsp; 52 new topics on groups in last month&lt;/td&gt;
&lt;td&gt;png&lt;/td&gt;
&lt;td&gt;chart types like Mekko, bubble, pyramid, funnel and block 
charts. &amp;nbsp;Ability to drag and drop points. &amp;nbsp;Automatic trend line 
calculations&lt;/td&gt;
&lt;/tr&gt;
&lt;tr align=&quot;CENTER&quot;&gt;
&lt;td&gt;&lt;a href=&quot;http://omnipotent.net/jquery.sparkline/#s-about&quot;&gt;jQuery Sparklines&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;line, bar, tristate, discrete, pie charts, bullet graphs&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;up to 119 Kb&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://www.jquery.org/&quot;&gt;jQuery&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;form of tooltips, mouseover highlighting and click interaction&lt;/td&gt;
&lt;td&gt;New BSD License&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;td&gt;25 search results and 3 new topics on &lt;a href=&quot;http://stackoverflow.com/&quot; target=&quot;_blank&quot;&gt;stackoverflow&lt;/a&gt;&amp;nbsp; in last month &lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;td&gt;plugin for generate &lt;a href=&quot;http://en.wikipedia.org/wiki/Sparkline&quot;&gt;sparklines&lt;/a&gt; (small inline charts)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr align=&quot;CENTER&quot;&gt;
&lt;td&gt;&lt;a href=&quot;http://www.filamentgroup.com/lab/update_to_jquery_visualize_accessible_charts_with_html5_from_designing_with/&quot;&gt;jQuery Visualize&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;bar, area, pie, line&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td&gt;24,2 Kb&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://www.jquery.org/&quot;&gt;jQuery&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td&gt;hovers and follows&lt;/td&gt;
&lt;td&gt;MIT&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;td&gt;32 search results on &lt;a href=&quot;http://stackoverflow.com/&quot; target=&quot;_blank&quot;&gt;stackoverflow&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;td&gt;visualize is one of the 12 enhancement-driven widgets that accompanies on the book &lt;a href=&quot;http://www.filamentgroup.com/dwpe&quot; target=&quot;_blank&quot;&gt;Designing with Progressive Enhancement&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr align=&quot;CENTER&quot;&gt;
&lt;td&gt;&lt;a href=&quot;http://code.google.com/p/milkchart/&quot;&gt;milkchart&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;bar, line, scatter, column, pie, donut
&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;&lt;td&gt;Minified is at 25 Kb
&lt;/td&gt;&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No
&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;http://mootools.net/&quot; target=&quot;_blank&quot;&gt;Mootools&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td&gt;legends&lt;/td&gt;
&lt;td&gt;MIT&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;td&gt;8 search results on &lt;a href=&quot;http://stackoverflow.com/&quot; target=&quot;_blank&quot;&gt;stackoverflow&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;png&lt;/td&gt;
&lt;td&gt;simple and small.&amp;nbsp; Takes a Table element or JSON data&lt;/td&gt;
&lt;/tr&gt;
&lt;tr align=&quot;CENTER&quot;&gt;
&lt;td&gt;&lt;a href=&quot;http://www.rgraph.net/&quot;&gt;RGraph&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;bar, bi-polar,line, pie, donut, Gantt, Funnel, Waterfall, gauge, progress bars, meter, radar, scatter radial scatter, rose
&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td&gt;variable up to 830 Kb&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td&gt;tooltips, annotating, context, menus, resizing, zoom&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://www.rgraph.net/docs/licensing.html&quot; target=&quot;_blank&quot;&gt;RGraph license&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;td&gt;Latest realease June-01-2012, 58 search results and 6 new topics on&amp;nbsp;&lt;a href=&quot;http://stackoverflow.com/&quot; target=&quot;_blank&quot;&gt;stackoverflow&lt;/a&gt;  in last month&lt;/td&gt;
&lt;td&gt;png&lt;/td&gt;
&lt;td&gt;many interesting types of charts, good documentation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr align=&quot;CENTER&quot;&gt;
&lt;td&gt;&lt;a href=&quot;http://code.shutterstock.com/rickshaw&quot;&gt;Rickshaw&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;area, lines, bars, scatterplot &lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;variable up to 712 Kb&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://mbostock.github.com/d3/&quot; target=&quot;_blank&quot;&gt;D3&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;renderers, legends, hovers, range selectors, etc.&lt;/td&gt;
&lt;td&gt;MIT&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;td&gt;9 search results and 2 new topics on &lt;a href=&quot;http://stackoverflow.com/&quot; target=&quot;_blank&quot;&gt;stackoverflow&lt;/a&gt;&amp;nbsp; in last month &lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;td&gt;works with real-time data&lt;/td&gt;
&lt;/tr&gt;
&lt;tr align=&quot;CENTER&quot;&gt;
&lt;td&gt;&lt;a href=&quot;http://www.simile-widgets.org/timeplot/&quot;&gt;Timeplot&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;time series&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;161 Kb&lt;/td&gt;
&lt;td style=&quot;background-color: #90ff90;&quot;&gt;Yes&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;hovers and follows&lt;/td&gt;
&lt;td&gt;BSD&lt;/td&gt;
&lt;td style=&quot;background-color: #ff9090;&quot;&gt;No&lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;td&gt;16 search results and 1 new topics on &lt;a href=&quot;http://stackoverflow.com/&quot; target=&quot;_blank&quot;&gt;stackoverflow&lt;/a&gt;&amp;nbsp; in last month &lt;/td&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;td&gt;interactive time series plots and overlay Timeline event files over them&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;http: d3js.org=&quot;&quot;&gt;&lt;http: lab=&quot;&quot; update_to_jquery_vis=&quot;ualize_accessible_charts_with_html5_from_designing_with/&quot; www.filamentgroup.com=&quot;&quot;&gt;&lt;http: flotr2=&quot;&quot; index=&quot;&quot; www.humblesoftware.com=&quot;&quot;&gt;&lt;http: thejit.org=&quot;&quot;&gt;&lt;http: dojotoolkit.org=&quot;&quot; features=&quot;&quot; graphics-and-charting=&quot;&quot;&gt;&lt;http: g.raphaeljs.com=&quot;&quot;&gt;&lt;https: chart=&quot;&quot; docs=&quot;&quot; google-developers.appspot.com=&quot;&quot; index=&quot;&quot; interactive=&quot;&quot;&gt;&lt;http: code.google.com=&quot;&quot; flot=&quot;&quot; p=&quot;&quot;&gt;&lt;http: code.shutterstock.com=&quot;&quot; rickshaw=&quot;&quot;&gt;&lt;http: timeplot=&quot;&quot; www.simile-widgets.org=&quot;&quot;&gt;&lt;http: thejit.org=&quot;&quot;&gt;&lt;http: thejit.org=&quot;&quot;&gt;&lt;/http:&gt;&lt;/http:&gt;&lt;/http:&gt;&lt;/http:&gt;&lt;/http:&gt;&lt;/https:&gt;&lt;/http:&gt;&lt;/http:&gt;&lt;/http:&gt;&lt;/http:&gt;&lt;/http:&gt;&lt;/http:&gt;</content><link rel='replies' type='application/atom+xml' href='http://kraskniga.blogspot.com/feeds/4881153786473263106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kraskniga.blogspot.com/2012/06/comparison-of-javascript-data.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4160083402181295671/posts/default/4881153786473263106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4160083402181295671/posts/default/4881153786473263106'/><link rel='alternate' type='text/html' href='http://kraskniga.blogspot.com/2012/06/comparison-of-javascript-data.html' title='Comparison of JavaScript Data Visualization Libraries'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05082657229513655893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4160083402181295671.post-7742019855531666123</id><published>2012-05-28T20:11:00.000-07:00</published><updated>2012-08-26T22:09:46.650-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ArcadiaCharts"/><category scheme="http://www.blogger.com/atom/ns#" term="Cubism"/><category scheme="http://www.blogger.com/atom/ns#" term="D3"/><category scheme="http://www.blogger.com/atom/ns#" term="Dojo GFX"/><category scheme="http://www.blogger.com/atom/ns#" term="Dygraphs"/><category scheme="http://www.blogger.com/atom/ns#" term="Flotr"/><category scheme="http://www.blogger.com/atom/ns#" term="Google Chart Tools"/><category scheme="http://www.blogger.com/atom/ns#" term="GRaphaël"/><category scheme="http://www.blogger.com/atom/ns#" term="Highcharts"/><category scheme="http://www.blogger.com/atom/ns#" term="html5 canvas"/><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript Chart Library"/><category scheme="http://www.blogger.com/atom/ns#" term="jqPlot"/><category scheme="http://www.blogger.com/atom/ns#" term="jQuery Visualize"/><category scheme="http://www.blogger.com/atom/ns#" term="Milkchart"/><category scheme="http://www.blogger.com/atom/ns#" term="RGraph"/><category scheme="http://www.blogger.com/atom/ns#" term="Rickshaw"/><category scheme="http://www.blogger.com/atom/ns#" term="svg"/><category scheme="http://www.blogger.com/atom/ns#" term="Timeplot"/><category scheme="http://www.blogger.com/atom/ns#" term="vml"/><title type='text'>Choice Free JavaScript Data Visualization Library</title><content type='html'>&lt;div dir=&quot;ltr&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Anyone who has ever had to deal with the data, understand the importance of visualization. One thing to show the user a table with dozens of rows and fields, and quite another visualize this data in a form of the chart. The great advantage of the chart, that it can be interactive - the ability to recognize the values of the point under mouse pointer, also zooming range of interest and other goodies.&lt;br /&gt;
Here a review of popular JavaScript libraries for drawing charts, that do not require Flash and can be used free of charge.&lt;/div&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;h3&gt;

































WEB Visualiztion Techonologies&lt;/h3&gt;
&lt;br /&gt;
Main technologies used for visualization:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;solutions based on proprietary Adobe Flash (formerly Macromedia Flash) &lt;a href=&quot;http://en.wikipedia.org/wiki/Multimedia&quot; target=&quot;_blank&quot;&gt;multimedia&lt;/a&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Platform_%28computing%29&quot; target=&quot;_blank&quot;&gt;platform&lt;/a&gt; (requires special software installed on the client side);&lt;/li&gt;
&lt;li&gt;solutions based on &lt;a href=&quot;http://en.wikipedia.org/wiki/VML&quot; target=&quot;_blank&quot;&gt;Vector Markup Language (VML)&lt;/a&gt;. Mainly to support IE 5.0+&amp;nbsp;browsers family;&lt;/li&gt;
&lt;li&gt;solutions based on &lt;a href=&quot;http://en.wikipedia.org/wiki/SVG&quot; target=&quot;_blank&quot;&gt;Scalable Vector Graphics (SVG)&lt;/a&gt; in combination with the Javascript language allows you to create interactive charts. All major modern web browsers have a support for SVG and can render markup directly, including Mozilla Firefox, Internet Explorer 9, Google Chrome, Opera, and Safari;&lt;/li&gt;
&lt;li&gt;solutions based on &lt;a href=&quot;http://en.wikipedia.org/wiki/HTML5&quot; target=&quot;_blank&quot;&gt;HTML5&lt;/a&gt;, that in addition to the SVG support also allows you to draw directly on the canvas.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div dir=&quot;ltr&quot; trbidi=&quot;on&quot;&gt;
Since there are many javascript solutions for graphics, the purpose of this article is to consider only those that popular among developers.&lt;br /&gt;
For completeness, here is a list of libraries that have been considered, but excluded for various reasons:&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.liquidx.net/plotkit&quot; target=&quot;_blank&quot;&gt;PlotKit&lt;/a&gt;&amp;nbsp;-&amp;nbsp;&lt;span class=&quot;hps&quot; style=&quot;background-color: whitesmoke;&quot;&gt;h&lt;/span&gt;as not been updated for more than 5 years;&lt;br /&gt;
&lt;a href=&quot;http://timepedia.org/chronoscope/&quot; target=&quot;_blank&quot;&gt;Chronoscope&lt;/a&gt;&amp;nbsp;-&amp;nbsp;website not available;&lt;br /&gt;
&lt;a href=&quot;http://www.craic.com/ortho/ortho_home.html&quot; target=&quot;_blank&quot;&gt;Ortho&lt;/a&gt;&amp;nbsp;- no interactive examples;&lt;br /&gt;
&lt;a href=&quot;http://www.fusioncharts.com/demos/&quot; target=&quot;_blank&quot;&gt;FusionCharts&lt;/a&gt;&amp;nbsp;- no free versions;&lt;br /&gt;
&lt;a href=&quot;http://www.zingchart.com/#welcome&quot; target=&quot;_blank&quot;&gt;ZingChart&lt;/a&gt;&amp;nbsp;- commercial;&lt;br /&gt;
&lt;a href=&quot;http://mbostock.github.com/protovis/&quot; target=&quot;_blank&quot;&gt;Protovis&lt;/a&gt;&amp;nbsp;-&amp;nbsp;is no longer under active development. Developers recommend switching to D3.js;&lt;br /&gt;
&lt;a href=&quot;http://tickerplot.com/&quot; target=&quot;_blank&quot;&gt;tickerplot&lt;/a&gt;&amp;nbsp;-  has not been updated for more than 2 years;&lt;br /&gt;
&lt;a href=&quot;http://www.humblesoftware.com/finance/index&quot; target=&quot;_blank&quot;&gt;HumbleFinance&lt;/a&gt;  - these charts are no longer supported. Developers recommend to use &lt;a href=&quot;http://www.humblesoftware.com/envision&quot; target=&quot;_blank&quot;&gt;Envision.js&lt;/a&gt;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So, lets review:&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;



























JavaScript Data Visualization Libraries&lt;/h3&gt;
&lt;br /&gt;
&lt;a href=&quot;http://dojotoolkit.org/features/graphics-and-charting&quot;&gt;Dojo GFX&lt;/a&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://dojotoolkit.org/images/businessCharts.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;http://dojotoolkit.org/images/businessCharts.png&quot; width=&quot;203&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Dojo GFX is a cross-browser 2D vector graphics API that enables development of rich graphic web application on desktop and mobile without having to deal with the browser&#39;s native graphics technologies.&lt;br /&gt;
Expected support the HTML5 since version 1.8 in Dojo DND.&amp;nbsp;There is a project &lt;a href=&quot;http://code.google.com/p/tatami/&quot;&gt;tatami&lt;/a&gt;,&amp;nbsp;aims to integrate the Google Web Toolkit (GWT) and the DOJO framework.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://g.raphaeljs.com/&quot; name=&quot;gRaphaël&quot;&gt;gRaphaël&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://g.raphaeljs.com/images/dot.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://g.raphaeljs.com/images/dot.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
gRaphaël’ based on &lt;a href=&quot;http://raphaeljs.com/&quot;&gt;Raphaël&lt;/a&gt; graphics library.&amp;nbsp;Raphaël is a small JavaScript library that should simplify your work with vector graphics on the web. If you want to create your own specific chart or image crop and rotate widget, for example, you can achieve it simply and easily with this library.Raphaël [&#39;ræfeɪəl] uses the SVG W3C Recommendation and VML as a base for creating graphics.&amp;nbsp;There is porting raphael4gwt and gwt-wrapper for raphael.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://google-developers.appspot.com/chart/interactive/docs/index&quot;&gt;Google Chart Tools&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://google-developers.appspot.com/chart/interactive/images/visualization_intro.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://google-developers.appspot.com/chart/interactive/images/visualization_intro.png&quot; width=&quot;170&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
A Chart as service. A chart requires three libraries:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;The Google JSAPI API&lt;/li&gt;
&lt;li&gt;The Google Visualization library&lt;/li&gt;
&lt;li&gt;The library for the chart itself.&lt;/li&gt;
&lt;/ul&gt;
These libraries are loaded using two &amp;lt;script&amp;gt; links in your page code. Charts are rendered using HTML5/SVG technology to provide cross-browser compatibility (including VML for older IE versions). The &lt;a href=&quot;http://code.google.com/apis/charttools/index.html&quot;&gt;Google Chart Tools API&lt;/a&gt; provides GWT bindings to the Google Chart Tools.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.jqplot.com/&quot;&gt;jqPlot&lt;/a&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyOCg079ZxtyKhAaaZiJc7DFlZZFkU2ZRLY8praRAneOixYVMuzFlwvq2g-iCNAqN-OxQE3qx_2xPKa5MZI-l5TTPIk5uKeYzii8-QJdvZqyNPBt5XkrU-rTelmcDHAI0ncS73KkWVSkQK/s1600/trendline2.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyOCg079ZxtyKhAaaZiJc7DFlZZFkU2ZRLY8praRAneOixYVMuzFlwvq2g-iCNAqN-OxQE3qx_2xPKa5MZI-l5TTPIk5uKeYzii8-QJdvZqyNPBt5XkrU-rTelmcDHAI0ncS73KkWVSkQK/s1600/trendline2.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
jqPlot is an open source project by Chris Leonello. Plotting and charting plugin for the jQuery Javascript framework. &lt;a href=&quot;http://www.jqplot.com/&quot;&gt;jqPlot&lt;/a&gt; uses the HTML5 canvas element for drawing plots, for IE 6 - 8,&amp;nbsp; it relies on Google&#39;s excanvas library.&amp;nbsp;There are plugins for mobile support. Supports many types of interactiveness: hover, highlighting, legends, click to turn toggle series on/off, tool tips, etc. Project dual licensed under the MIT and GPL version 2 licenses. A large number of different types of graphs and more than 90 examples. Numerous chart types like Mekko, bubble, pyramid,  meter gauge, funnel 
and block charts. Has no integration with GWT.&amp;nbsp; Ability to drag and drop points, automatic trend 
line calculations. &lt;/div&gt;
&lt;div dir=&quot;ltr&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;a href=&quot;http://d3js.org/&quot; name=&quot;D3&quot; target=&quot;_blank&quot;&gt;D3&lt;/a&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://d3js.org/ex/bundle.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://d3js.org/ex/bundle.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Data-Driven Documents is very powerful solution released under BSD license. It has a lot of plugins on almost all occasions.D3 is not a monolithic framework that seeks to provide every conceivable feature. Instead, D3 solves the crux of the problem: efficient manipulation of documents based on data. This avoids proprietary representation and affords extraordinary flexibility, exposing the full capabilities of web standards such as CSS3, HTML5 and SVG. Has no integration with GWT (used JSNI to exchange data at a&amp;nbsp;higher level between the Java and the JavaScript code).&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://code.google.com/p/flot/&quot; target=&quot;_blank&quot;&gt;Flot&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://people.iola.dk/olau/flot/flot-screenshot.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;161&quot; src=&quot;http://people.iola.dk/olau/flot/flot-screenshot.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Flot is a pure Javascript plotting library for &lt;a href=&quot;http://jquery.com/&quot;&gt;jQuery&lt;/a&gt;. It produces graphical plots of arbitrary data sets on-the-fly client-side. The plugin based on HTML5 and works with most modern browsers (the excanvas Javascript emulation helper is used for IE &amp;lt; 9).&amp;nbsp; A focus is on simple usage, attractive looks and interactive features like zooming and mouse tracking. Supported bars, lines, points, filled areas, time series, pie, stacked charts&amp;nbsp; any
    combinations of these, in the same plot and even on the same data
    series. Released under the MIT/BSD Licenses.&amp;nbsp;Exist&amp;nbsp;&lt;a href=&quot;http://code.google.com/p/gflot&quot; target=&quot;_blank&quot;&gt;GFlot&lt;/a&gt; project, which is a GWT adaptation of Flot.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;a href=&quot;http://solutoire.com/flotr/&quot; target=&quot;_blank&quot;&gt;Flotr&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnG714raCLKyMBEFY4jwXgM0iRDCcHEUlaf60QH2Cqdl7cDv02I7goyejthuTTr5oMMnB553rzM0RMkTw5HygMhFHhGU4MtpT4LHZewfuymqVtcZkIN6jpfHzze3RiZ1ScadT40pN-3S47/s1600/flotr.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;176&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnG714raCLKyMBEFY4jwXgM0iRDCcHEUlaf60QH2Cqdl7cDv02I7goyejthuTTr5oMMnB553rzM0RMkTw5HygMhFHhGU4MtpT4LHZewfuymqVtcZkIN6jpfHzze3RiZ1ScadT40pN-3S47/s320/flotr.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
Flotr is a javascript plotting library based on the &lt;a href=&quot;http://prototypejs.org/&quot;&gt;Prototype Javascript Framework&lt;/a&gt; (version 1.6.0.2 at the moment) and inspired by &lt;a href=&quot;http://code.google.com/p/flot/&quot;&gt;Flot&lt;/a&gt; (written by Ole Laursen). Canvas HTML is emulated by ExplorerCanvas, a javascript that let’s you handle VML the same way as HTML Canvas. Flotr is released under the MIT License.&amp;nbsp;Has no integration with GWT.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;http://www.humblesoftware.com/flotr2/index&quot; target=&quot;_blank&quot;&gt;Flotr2&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivYWsn_WwwBzhjsfObesNEnqAf0n1KVQThPVNeABDDH6yiT3pjbVRwCO2amjjiBsTjY6FP0EkCIim9XA2FTG1RqIsspKAue_EJK619_M0PFyU_agmDAOZfIyWQw2OFWfYCYBKT9Jk5x1J1/s1600/flotr2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;197&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivYWsn_WwwBzhjsfObesNEnqAf0n1KVQThPVNeABDDH6yiT3pjbVRwCO2amjjiBsTjY6FP0EkCIim9XA2FTG1RqIsspKAue_EJK619_M0PFyU_agmDAOZfIyWQw2OFWfYCYBKT9Jk5x1J1/s320/flotr2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
Flotr2 is a library for drawing HTML5 charts and graphs. It is a branch of &lt;a href=&quot;http://code.google.com/p/flotr/&quot;&gt;flotr&lt;/a&gt; which removes the Prototype dependency and includes many improvements.&amp;nbsp;Features:&amp;nbsp;mobile support,&amp;nbsp;framework independent,&amp;nbsp;extensible plugin framework,&amp;nbsp;custom chart types,&amp;nbsp;FF, Chrome, IE6+, Android, iOS,&amp;nbsp;lines,&amp;nbsp;bars,&amp;nbsp;candles,&amp;nbsp;pies,&amp;nbsp;bubbles.Has its own &lt;a href=&quot;https://github.com/HumbleSoftware/Flotr2/blob/master/LICENSE&quot; target=&quot;_blank&quot;&gt;license&lt;/a&gt;.&amp;nbsp;Has no integration with GWT.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;a href=&quot;http://code.shutterstock.com/rickshaw&quot; target=&quot;_blank&quot;&gt;Rickshaw &lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihP0cHbqObBfEGe888XzItzZxswLx6EON2kn03iZ2TCD35a0HsA_aSmzm_s6yVCG6a6YDVQV41PlAC9NsXM5JlBFOyyestPMhYfxoqmrnZDAmZ812IXyo2erbKBUkJjJYDVQ18NvKhPwyg/s1600/richshaw.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;149&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihP0cHbqObBfEGe888XzItzZxswLx6EON2kn03iZ2TCD35a0HsA_aSmzm_s6yVCG6a6YDVQV41PlAC9NsXM5JlBFOyyestPMhYfxoqmrnZDAmZ812IXyo2erbKBUkJjJYDVQ18NvKhPwyg/s320/richshaw.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
It&#39;s all based on&amp;nbsp;&lt;a href=&quot;http://mbostock.github.com/d3/&quot;&gt;d3&lt;/a&gt;&amp;nbsp;underneath, so graphs are drawn with standard SVG and styled with CSS.&amp;nbsp;Rickshaw provides the elements you need to create interactive graphs: renderers, legends, hovers, range selectors, etc.&lt;br /&gt;
Built on d3.js&amp;nbsp;Rickshaw is free and open source, available under the MIT license.&amp;nbsp;Rickshaw can show interactive real-time data with the ability to work with the timeline. Exist&amp;nbsp;&lt;a href=&quot;https://github.com/jmadureira/rickshaw-gwt&quot;&gt;rickshaw-gwt&lt;/a&gt; wrapper.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;a href=&quot;http://www.simile-widgets.org/timeplot/&quot;&gt;Timeplot&lt;/a&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSKhM2BEw6_-Hdh7VFbqBtJYVUaZxuTPQ36xH31R9HkHs1XlKtkabZ0_Xngpk01vOd4j0TkRXZWSNAsdQwj7rLFQxQO10Q17jrE9N0nUIlCW91C6tdzN7IH8kDVWjRKDxsyZQw5a-bioFJ/s1600/timeplot.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;153&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSKhM2BEw6_-Hdh7VFbqBtJYVUaZxuTPQ36xH31R9HkHs1XlKtkabZ0_Xngpk01vOd4j0TkRXZWSNAsdQwj7rLFQxQO10Q17jrE9N0nUIlCW91C6tdzN7IH8kDVWjRKDxsyZQw5a-bioFJ/s640/timeplot.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Web Widget for Plotting Time Series. Timeplot is a DHTML-based AJAXy widget for plotting time series and overlay time-based events over them (with the same data formats that Timeline supports).&amp;nbsp;Timeplot is open source software and is licensed under the BSD license.&amp;nbsp;The timeline widget has a &lt;a href=&quot;http://code.google.com/p/gwtsimiletimeline/&quot; target=&quot;_blank&quot;&gt;GWT wrapper&lt;/a&gt;.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;a href=&quot;http://thejit.org/&quot; target=&quot;_blank&quot;&gt;JavaScript InfoVis Toolkit&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://thejit.org/static/v20/img/marquee/sunburst.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;168&quot; src=&quot;http://thejit.org/static/v20/img/marquee/sunburst.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Tthe JavaScript InfoVis Toolkit uses the HTML5 Canvas element for plotting and animating graphs.Very nice graphics. The project seems to develop a one person:&amp;nbsp;&lt;a href=&quot;http://philogb.github.com/&quot;&gt;Nicolas Garcia Belmonte&lt;/a&gt;.&amp;nbsp;&lt;a href=&quot;http://code.google.com/p/gwt-graph/&quot; target=&quot;_blank&quot;&gt;Gwt-graph&lt;/a&gt;&lt;span style=&quot;background-color: white; font-family: arial,sans-serif; font-size: 13px; line-height: 16px;&quot;&gt;&amp;nbsp;project will provide Graph drawing canvas for GWT projects.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.rgraph.net/&quot; target=&quot;_blank&quot;&gt;RGraph&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDbQhf76OTj9PCsNa1Kr71V1yNS9xu-Rb65l0HNVA_-jN-1erQq7ofIqgn9p_6EhXFFB0w1Zvz6mMHJHiv3roaz0RPzOSWj4XisERlBKFrmSNgGLAIqU3SyPf3sGnMFs0Ifs073-zeCSnO/s1600/rgraph.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;168&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDbQhf76OTj9PCsNa1Kr71V1yNS9xu-Rb65l0HNVA_-jN-1erQq7ofIqgn9p_6EhXFFB0w1Zvz6mMHJHiv3roaz0RPzOSWj4XisERlBKFrmSNgGLAIqU3SyPf3sGnMFs0Ifs073-zeCSnO/s320/rgraph.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
RGraph is a charts library that uses Javascript and HTML5 to draw and supports over twenty different types of charts. Using the new HTML5 canvas tag, RGraph creates these charts inside the web browser using Javascript, meaning quicker pages and less web server load. RGraph is free to use on non-commercial websites such as personal blogs, educational, or charity sites. For use in commercial projects will have to pay.&amp;nbsp;Has no integration with GWT. M&lt;span class=&quot;short_text&quot; id=&quot;result_box&quot; lang=&quot;en&quot;&gt;&lt;span class=&quot;hps&quot;&gt;any interesting&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;types of charts &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;short_text&quot; id=&quot;result_box&quot; lang=&quot;en&quot;&gt;&lt;span class=&quot;hps&quot;&gt;and&lt;/span&gt; &lt;span class=&quot;hps&quot;&gt;good documentation. &lt;/span&gt;&lt;/span&gt;Levels of interactiveness: tooltips, annotating, context menus, resizing, zoom + lots more. More
information is in the &lt;a href=&quot;http://www.rgraph.net/docs/index.html&quot; target=&quot;_blank&quot;&gt;docs&lt;/a&gt;.

&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.arcadiacharts.com/&quot; target=&quot;_blank&quot;&gt;arcadiaCharts&lt;/a&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.arcadiacharts.com/img/chart-iPad.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;302&quot; src=&quot;http://www.arcadiacharts.com/img/chart-iPad.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
arcadiaCharts is a JavaScript charting component for the usage in web based environments. For download available GWT and JavaScript library versions.&amp;nbsp;Supported chart-types are: line, area, pie, donut, bar, column, scatter, xy, logarithmic scale charts, time plot.&amp;nbsp;Features:&amp;nbsp;Apply color and style,&amp;nbsp;Interactivity,&amp;nbsp;Axis types,&amp;nbsp;CSV data import.You can use ArcadiaCharts for free for commercial use on a &quot;give and take&quot; basis. In return for the free use we ask you for a link back to website on the page displaying the chart. There is html5 support.&lt;span class=&quot;short_text&quot; id=&quot;result_box&quot; lang=&quot;en&quot;&gt;&lt;span class=&quot;hps&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;a href=&quot;http://omnipotent.net/jquery.sparkline/#s-about&quot; target=&quot;_blank&quot;&gt;jQuery Sparklines&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjv4TKL6b05sl2I-PUJThUYklZQEF0bb9pQDfO-ybdACHfdnBT5F61qYkTik4ojoEN5Mwuhe7ldbgDGkoKSSyIiekmUK6GXFK5qUvYZkwcM8hdwgIoGDrVfRtGcqNz18CRnKq2iZ2asaUOZ/s1600/jquery_sparklines.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjv4TKL6b05sl2I-PUJThUYklZQEF0bb9pQDfO-ybdACHfdnBT5F61qYkTik4ojoEN5Mwuhe7ldbgDGkoKSSyIiekmUK6GXFK5qUvYZkwcM8hdwgIoGDrVfRtGcqNz18CRnKq2iZ2asaUOZ/s1600/jquery_sparklines.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
This &lt;a href=&quot;http://jquery.com/&quot;&gt;jQuery&lt;/a&gt; plugin generates &lt;a href=&quot;http://en.wikipedia.org/wiki/Sparkline&quot;&gt;sparklines&lt;/a&gt; (small inline charts) directly in the browser using data supplied either inline in the HTML, or via javascript. Each example displayed below takes just 1 line of HTML or javascript to generate. The plugin was written by &lt;a href=&quot;http://omnipotent.net/&quot;&gt;Gareth Watts&lt;/a&gt; for &lt;a href=&quot;http://www.splunk.com/&quot;&gt;Splunk Inc&lt;/a&gt; and released under the New BSD License.&amp;nbsp;Has no integration with GWT.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://dygraphs.com/&quot; target=&quot;_blank&quot;&gt;dygraphs&lt;/a&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8yTFQb8ENpa-pK_wwNRvtzUxEiRSUkka0ddPXpSEWWbtDatfxeZXm6nGrpWv8DLfal38uEoF_7sC1FHDd-hWTUrwLL7ZUGzagyf79NvKjCIztFYpNvaJojxKKpDskn-EOHXAec9gF-ftb/s1600/dygraphs.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;129&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8yTFQb8ENpa-pK_wwNRvtzUxEiRSUkka0ddPXpSEWWbtDatfxeZXm6nGrpWv8DLfal38uEoF_7sC1FHDd-hWTUrwLL7ZUGzagyf79NvKjCIztFYpNvaJojxKKpDskn-EOHXAec9gF-ftb/s320/dygraphs.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Dygraphs is an open source JavaScript library that produces produces interactive, zoomable charts of time series. &amp;nbsp;Plots time series without using an external server.&amp;nbsp;Lightweight (69kb) and responsive.&amp;nbsp;Displays values on mouseover, making interaction easily discoverable. Dygraphs supports &lt;a href=&quot;http://dygraphs.com/tests/fillGraph.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;area&lt;/a&gt;, &lt;a href=&quot;http://dygraphs.com/tests/plotters.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;bar, line and candlestick&lt;/a&gt; charts. Compatible with the Google Visualization API.&amp;nbsp;There is currently no GWT wrapper around Dygraphs, however there is a class that can be used to easily load Dygraphs into the browser.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;a href=&quot;http://www.highcharts.com/&quot; target=&quot;_blank&quot;&gt;Highcharts&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizk6UwROE_2DKMszf2ateuLHecE1XOS7O3-seTxtP5NV3WcEhnwUA0g_I2hqEq5JeNVlAuf9oVo1F7hCE028HWlyHh4TKElJrN7c-OUe2nzc5-o5abSyFla4-EYMfDRiOdYiC-kVfpbHhL/s1600/highcharts.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;160&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizk6UwROE_2DKMszf2ateuLHecE1XOS7O3-seTxtP5NV3WcEhnwUA0g_I2hqEq5JeNVlAuf9oVo1F7hCE028HWlyHh4TKElJrN7c-OUe2nzc5-o5abSyFla4-EYMfDRiOdYiC-kVfpbHhL/s320/highcharts.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
Highcharts is a charting library written in pure JavaScript, offering intuitive, interactive charts to your web site or web application. Highcharts currently supports line, spline, area, areaspline, column, bar, pie and scatter chart types. Free for Non-commercial, for use in commercial projects will have to pay. One of the richest library in its capabilities.&amp;nbsp;&lt;a href=&quot;http://highcharts-gxt.sourceforge.net/wordpress/&quot; target=&quot;_blank&quot;&gt;Highcharts-gxt/gwt&lt;/a&gt;&amp;nbsp;is the official Highchart-gwt/gxt adapters blog.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;a href=&quot;http://www.filamentgroup.com/lab/update_to_jquery_visualize_accessible_charts_with_html5_from_designing_with/&quot; target=&quot;_blank&quot;&gt;jQuery Visualize&lt;/a&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-cLBKr9F788IixDYymayvF14KZENyfImn7H3hgHMfgwycpZ4woEHcCGELTvQuQunq7GnXcVnccXReOo2wYDI-ITBt6svvKhkXrNw3h2S5RY6prhCGDGYXEP_J6rtbPWo4wk9R5fzogaY/s1600/jquery_visualize.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;239&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-cLBKr9F788IixDYymayvF14KZENyfImn7H3hgHMfgwycpZ4woEHcCGELTvQuQunq7GnXcVnccXReOo2wYDI-ITBt6svvKhkXrNw3h2S5RY6prhCGDGYXEP_J6rtbPWo4wk9R5fzogaY/s320/jquery_visualize.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
The Filament Group&#39;s jQuery plugin for creating accessible charts &amp;amp; graphs from table elements using HTML 5 Canvas. Used a technique for creating accessible charts and graphs that uses JavaScript to scrape data from an HTML table and generate bar, line, area, and pie chart visualizations using the HTML5 canvas element. This technique provides a simple way to generate charts and  it is accessible to people who browse the web with a screen reader or other assistive technology, or with browsers that don&#39;t fully support JavaScript or HTML5 Canvas. The plugin itself is licensed for free distribution with MIT and GPL&amp;nbsp;licenses.Last update was 2 years ago.&amp;nbsp;Has no integration with GWT.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;a href=&quot;http://code.google.com/p/milkchart/&quot; target=&quot;_blank&quot;&gt;Milkchart&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://mootools.net/forge/uploads/screenshots/152/3927/29ae09166d99744e55e62aedefe09a81.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;193&quot; src=&quot;http://mootools.net/forge/uploads/screenshots/152/3927/29ae09166d99744e55e62aedefe09a81.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
This library will generate a graph similar to Microsoft Excel. All of the graphs use shared options from the Base class: Column, Bar, Line, Scatter, Pie. There is no area chart. It&#39;s all based on &lt;a href=&quot;http://mootools.net/&quot; target=&quot;_blank&quot;&gt;Mootools&lt;/a&gt; underneath. Used 100% HTML5′s Canvas element,  no fallback. MilkChart is released under the MIT license.&amp;nbsp;&amp;nbsp;Has no integration with GWT. You could save the chart as PNG.&amp;nbsp;Simple and small. Takes a Table element or JSON data.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.humblesoftware.com/envision&quot; target=&quot;_blank&quot;&gt;Envision.js&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieauShw3NMIDoAXx4ChfgnOi_Lb3GEZ9DH3YaiWfNJfb7eDIIc5x__R-u_Xva2ODs-BgDyrb7z3llX-CSd1MxeT4ps7OhZBrFecFjRqCYUaIB-PzGS1Zc802MP0U00hgbf-kjj8ByhP7MW/s1600/envision.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieauShw3NMIDoAXx4ChfgnOi_Lb3GEZ9DH3YaiWfNJfb7eDIIc5x__R-u_Xva2ODs-BgDyrb7z3llX-CSd1MxeT4ps7OhZBrFecFjRqCYUaIB-PzGS1Zc802MP0U00hgbf-kjj8ByhP7MW/s1600/envision.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Envision.js is a visualization toolkit for for creating fast, dynamic and interactive HTML5 visualizations.  Supports next types of charts: real-time, timeSeries, finance, custom (fractal). Features include: data preprocessing for performance, an event mediator for re-usable interactive functionality, CSS and JS templates which provide a good starting place and cross browser support. It has a touch / mobile support. Has no integration with GWT.&lt;/div&gt;
&lt;br /&gt;
&lt;a href=&quot;http://square.github.com/cubism/&quot; name=&quot;Cubism&quot;&gt;Cubism.js&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuLXQaeoJUsIMd9GZyqjsB0b5qeU0wHTxMxKfmVWv7NmQnhZEBOkg63tHr7Eh4xBv1mzYspp5VUFfO7EjB_F3tAUd-rehXcL1986AzVmDPuzdw7dN-2y35tMEvXoNbKWPrLKWkZSxANocl/s1600/cubism_js.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;54&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuLXQaeoJUsIMd9GZyqjsB0b5qeU0wHTxMxKfmVWv7NmQnhZEBOkg63tHr7Eh4xBv1mzYspp5VUFfO7EjB_F3tAUd-rehXcL1986AzVmDPuzdw7dN-2y35tMEvXoNbKWPrLKWkZSxANocl/s320/cubism_js.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Very interesting graphs with real time visualization support. Cubism.js is a &lt;a href=&quot;http://mbostock.github.com/d3/&quot;&gt;D3&lt;/a&gt; plugin for visualizing time series. Use Cubism to construct better real time dashboards, pulling data from Graphite, Cube and other sources. Cubism is available under the Apache License on GitHub.&amp;nbsp;Has no integration with GWT. There is html5 support.&lt;span class=&quot;short_text&quot; id=&quot;result_box&quot; lang=&quot;en&quot;&gt;&lt;span class=&quot;hps&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3&gt;




























Conclusion&lt;/h3&gt;
&lt;br /&gt;
Among the visualization libraries there are the trend towards to HTML5 technologies for drawing charts. Therefore, for the long term, it is recommended to select library that supports HTML5. Commercial projects should pay attention to the libraries:&amp;nbsp;&lt;a href=&quot;http://d3js.org/&quot; target=&quot;_blank&quot;&gt;D3&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;http://www.humblesoftware.com/envision&quot; target=&quot;_blank&quot;&gt;Envision.js&lt;/a&gt;, &lt;a href=&quot;http://www.filamentgroup.com/lab/update_to_jquery_visualize_accessible_charts_with_html5_from_designing_with/&quot; target=&quot;_blank&quot;&gt;jQuery Visualize&lt;/a&gt;, &lt;a href=&quot;http://code.google.com/p/flot/&quot; target=&quot;_blank&quot;&gt;Flot&lt;/a&gt;, &lt;a href=&quot;http://www.humblesoftware.com/flotr2/index&quot; target=&quot;_blank&quot;&gt;Flotr2&lt;/a&gt;, &lt;a href=&quot;http://www.jqplot.com/&quot;&gt;jqPlot&lt;/a&gt;, &lt;a href=&quot;http://www.arcadiacharts.com/&quot; target=&quot;_blank&quot;&gt;arcadiaCharts&lt;/a&gt; and&amp;nbsp;&lt;a href=&quot;http://thejit.org/&quot; target=&quot;_blank&quot;&gt;JavaScript InfoVis Toolkit&lt;/a&gt;, because they have attractive licensing policy.&lt;br /&gt;
Separately, I would like to mention libraries with GWT support:&amp;nbsp;&lt;a href=&quot;http://dojotoolkit.org/features/graphics-and-charting&quot;&gt;Dojo GFX&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;http://g.raphaeljs.com/&quot;&gt;gRaphaël&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;https://google-developers.appspot.com/chart/interactive/docs/index&quot;&gt;Google Chart Tools&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;http://code.google.com/p/flot/&quot; target=&quot;_blank&quot;&gt;Flot&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;http://code.shutterstock.com/rickshaw&quot; target=&quot;_blank&quot;&gt;Rickshaw&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;http://www.simile-widgets.org/timeplot/&quot;&gt;Timeplot&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;http://thejit.org/&quot; target=&quot;_blank&quot;&gt;JavaScript InfoVis Toolkit&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;http://www.arcadiacharts.com/&quot; target=&quot;_blank&quot;&gt;arcadiaCharts&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href=&quot;http://www.highcharts.com/&quot; target=&quot;_blank&quot;&gt;Highcharts&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;


&lt;span class=&quot;short_text&quot; id=&quot;result_box&quot; lang=&quot;en&quot;&gt;&lt;span class=&quot;hps&quot;&gt;To be continued&lt;/span&gt;&lt;/span&gt; &lt;/h3&gt;
&lt;br /&gt;
Comparison of the specific features of each library:&lt;br /&gt;
&lt;i&gt;&lt;a href=&quot;http://kraskniga.blogspot.com/2012/06/comparison-of-javascript-data.html&quot; target=&quot;_blank&quot;&gt;Comparison of JavaScript Data Visaulisation Libraries.&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;/i&gt;&lt;br /&gt;
&lt;a href=&quot;http://kraskniga.blogspot.com/2012/06/comparison-of-javascript-data.html&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://kraskniga.blogspot.com/2012/06/comparison-of-javascript-data.html&quot;&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://kraskniga.blogspot.com/feeds/7742019855531666123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kraskniga.blogspot.com/2012/05/choice-free-javascript-data.html#comment-form' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4160083402181295671/posts/default/7742019855531666123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4160083402181295671/posts/default/7742019855531666123'/><link rel='alternate' type='text/html' href='http://kraskniga.blogspot.com/2012/05/choice-free-javascript-data.html' title='Choice Free JavaScript Data Visualization Library'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05082657229513655893</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyOCg079ZxtyKhAaaZiJc7DFlZZFkU2ZRLY8praRAneOixYVMuzFlwvq2g-iCNAqN-OxQE3qx_2xPKa5MZI-l5TTPIk5uKeYzii8-QJdvZqyNPBt5XkrU-rTelmcDHAI0ncS73KkWVSkQK/s72-c/trendline2.jpg" height="72" width="72"/><thr:total>10</thr:total></entry></feed>