Got it.  Thanks for the explanation.

What I've ended up doing is still creating a JSON string using the
Python Data Source Library but performing a Python 'replace' on the
string to replace all occurrences of 'id' with 'label'.

On Mar 14, 1:29 am, EZChart <[email protected]> wrote:
> This is the planned behavior. The chart is trying to keep the identity of
> the different series of data (identified by the column id) during the
> transition animation.
> If you change the data of the same series everything works well (when you
> don't have any ids the chart thinks it is the same series).
>
> If you switch between different series, generally speaking, it doesn't make
> a lot of sense to animate the transition. For example, try to animate
> between [0,1,2] view and [0,2,1] view in your example. You will see that
> the animation takes advantage of the fact that it identifies the series by
> their ids, and visually switches between the two series.
>
> So, the best suggestion I can think for you, is to create two different
> data tables with the same column ids and switch between them.
>
> Good luck!
>
>
>
>
>
>
>
> On Tue, Mar 13, 2012 at 4:33 AM, Brandon <[email protected]> wrote:
> > Hello,
>
> > I am encountering incomplete animated chart transition behavior when
> > using a DataTable created from a JSON string and adjusting the columns
> > of the DataView.  The chart itself resizes with animation, but the
> > bars disappear and then reappear at the end of the animation duration.
>
> > This only seems to happen when the JSON string includes the 'id'
> > property for the columns.  If the id's are left empty, the animated
> > transition performs normally.
>
> > The chart also animates normally when adjusting the DataTable itself,
> > as opposed to using the DataView, even when the column id's are filled
> > out.
>
> > The following code demonstrates the described behavior:
>
> > <html>
> >  <script src="https://www.google.com/jsapi"; type="text/javascript"></
> > script>
> >  <script>
> >    google.load('visualization', '1', {packages:['corechart']});
> >    google.setOnLoadCallback(drawTable);
>
> >    function drawTable() {
> >      var chart = new
> > google.visualization.BarChart(document.getElementById('chart_div'));
> >      // Note the column 'id' properties.
> >      var json_data = new google.visualization.DataTable({
> >          cols: [{id: 'a', label: 'NEW A', type: 'string'},
> >                 {id: 'b', label: 'B-label', type: 'number'},
> >                 {id: 'c', label: 'C-label', type: 'number'}
> >                ],
> >          rows: [{c:[{v: 'a'}, {v: 1.0, f: 'One'}, {v: 6.0, f:
> > 'Six'}]},
> >                 {c:[{v: 'b'}, {v: 2.0, f: 'Two'}, {v: 5.0, f:
> > 'Five'}]},
> >                 {c:[{v: 'c'}, {v: 3.0, f: 'Three'}, {v: 4.0, f:
> > 'Four'}]}
> >                ],
> >          p: {foo: 'hello', bar: 'world!'}
> >        }, 0.6);
> >      var options = {
> >        animation:{
> >          duration: 1000,
> >          easing: 'out',
> >        },
> >      }
> >      view = new google.visualization.DataView(json_data);
> >      view.setColumns([0,1]);
> >      chart.draw(view, options);
> >      var current_col = 0
> >      var button = document.getElementById('b1');
> >      button.onclick = function() {
> >        current_col = 1 - current_col;
> >        // Adjusting the DataView's view columns.
> >        view.setColumns([0,1+current_col]);
> >        chart.draw(view, options);
> >      }
> >    }
> >  </script>
> >  <body>
> >    <form>
> >      <input id="b1" type="button" value="Adjust DataView columns and
> > redraw chart" onclick="transitionChart()" />
> >    </form>
> >    <div id="chart_div"></div>
> >  </body>
> > </html>
>
> > Is this a known limitation of the animated transition functionality?
>
> > I am attempting to use the Python Data Source Library, which requires
> > column id's to create the JSON string.  I am hoping to avoid having to
> > manually remove the id's after creating the string.
>
> > Thanks,
> > Brandon
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Google Visualization API" group.
> > To post to this group, send email to
> > [email protected].
> > To unsubscribe from this group, send email to
> > [email protected].
> > For more options, visit this group at
> >http://groups.google.com/group/google-visualization-api?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Google Visualization API" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-visualization-api?hl=en.

Reply via email to