response.header['content-type']='image/png'

should have been

    response.headers['Content-Type']='image/png'

Massimo

On Dec 16, 9:48 am, aus <[email protected]> wrote:
> Hi Massimo,
>
> thank you for the *really* prompt reply!
> I managed to have Dojox charts work, but I'm getting a error message
> form the "matplotlib" code (btw, "import datetime" was missing). I
> pasted the Dojo code at the bottom of this email, just in case I'm not
> the only beginner around :)
>
> Traceback (most recent call last):
>   File "/home/aus/Software/Web2py/web2py/gluon/restricted.py", line
> 62, in restricted
>     exec ccode in environment
>   File "/home/aus/Software/Web2py/web2py/applications/test/controllers/
> matplotlib.py", line 29, in <module>
>   File "/home/aus/Software/Web2py/web2py/gluon/globals.py", line 55,
> in <lambda>
>     self._caller=lambda f: f()
>   File "/home/aus/Software/Web2py/web2py/applications/test/controllers/
> matplotlib.py", line 23, in simple
>     response.header['content-type']='image/png'
> TypeError: 'NoneType' object does not support item assignment
>
> what's wrong with the response?
>
> thank you once again!
>
> Cheers,
> aus
>
> Dojo / Dojox charting / JSON example:
>
> <script type="text/javascript">
>
> dojo.require("dojox.charting.Chart2D");
> {{import gluon.contrib.simplejson as sj}}
>
> function plott(){
>     //var dd = dojox.json.ref.fromJson(data);
>     //var data = [1,3,2,4,3,6];
>     console.debug({{=sj.dumps(data)}});
>     var chart1 = new dojox.charting.Chart2D("simplechart");
>     chart1.addPlot("default", {type: "Lines"});
>     chart1.addAxis("x");
>     chart1.addAxis("y", {vertical: true});
>     chart1.addSeries("Series 1", {{=sj.dumps(data)}});
>     chart1.render();};
>
> dojo.addOnLoad(plott);
>
> </script>
>
> On Dec 16, 3:49 pm, mdipierro <[email protected]> wrote:
>
> > In web2py+matplotlib:
>
> > def simple():
> >     import random, cStringIO
>
> >     from matplotlib.backends.backend_agg import FigureCanvasAgg as
> > FigureCanvas
> >     from matplotlib.figure import Figure
> >     from matplotlib.dates import DateFormatter
>
> >     fig=Figure()
> >     ax=fig.add_subplot(111)
> >     x=[]
> >     y=[]
> >     now=datetime.datetime.now()
> >     delta=datetime.timedelta(days=1)
> >     for i in range(10):
> >         x.append(now)
> >         now+=delta
> >         y.append(random.randint(0, 1000))
> >     ax.plot_date(x, y, '-')
> >     ax.xaxis.set_major_formatter(DateFormatter('%Y-%m-%d'))
> >     fig.autofmt_xdate()
> >     canvas=FigureCanvas(fig)
> >     response.header['content-type']='image/png'
> >     stream=cStringIO.StringIO()
> >     canvas.print_png(stream)
> >     return stream.getvalue()
>
> > Massimo
>
> > On Dec 16, 6:12 am, aus <[email protected]> wrote:
>
> > > Hi Massimo,
>
> > > thank you for your reply. Your suggestion does not seem to work, but
> > > maybe I'm not using Dojo properly. How would you code the plot with
> > > flot?
>
> > > Also, it would be great to be able to embed images/charts generated by
> > > matplotlib, similarly to what can be done with 
> > > django:http://www.scipy.org/Cookbook/Matplotlib/Django. Is there a similar
> > > feature in web2py?
>
> > > Thank you!
>
> > > Cheers,
> > > aus
>
> > > On Dec 16, 6:57 am, mdipierro <[email protected]> wrote:
>
> > > > I do not know about Dojo. I have been using flot instead. perhaps this
> > > > helps
>
> > > > {{import gluon.contrib.simplejson as sj}}
> > > > {{=sj.dumps(data)}}
>
> > > > data will be printed in the page in json format. If your view/template
> > > > includes javascript code you can put the above statements in the js
> > > > itself.
>
> > > > Perhaps other users can help more.
>
> > > > Massimo
>
> > > > On Dec 15, 11:31 pm, aus <[email protected]> wrote:
>
> > > > > Hi everybody,
>
> > > > > although I have some experience with programming, javascript/AJAX is
> > > > > completely new to me. I'm very happy with web2py and I'm trying now to
> > > > > pass arrays and possibly more structured data to Dojox to plot series
> > > > > computed in python using Dojox's charts. How can I do that? I somehow
> > > > > cannot cross the wall between the templace code and the javascript
> > > > > code... Is JSON a possible solution? Could someone provide an example?
>
> > > > > thank you!
>
> > > > > Cheers,
> > > > > aus
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" 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/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to