[PIPython] PyChart - scrivere su StringIO

Rocco rocco_2003_
Lun 24 Ott 2005 17:15:42 CEST


 ciao
    mi si è posto un problema analogo con Plotsparkline. L'obiettivo che mi 
sono posto è emulare quel che fa Joe Gregorio che inserisce l'immagine pgn 
nella pagina html. Dai uno sguardo al codice di Gregorio che potrebbe 
risolvere il tuo caso.
http://bitworking.org/news/Sparklines_in_data_URIs_in_Python
    Nle mio ho aggirato con uno swapping, forse non molto elegante ma che 
certamente risolve il mio problema di inserire la sparkline nel template 
xhtml.
    Dopo aver scritto la sparkline come immagine faccio così:
import urllib
from StringIO import StringIO
f1=StringIO()
f2=file(nome+'png','rb')
f1.write(f2.read())
f2.close()
 s='data:image/png,' + urllib.quote(f1.getvalue())
Spero possa aiutaare
Rocco
----- Original Message ----- 
From: "G.M.Dall'Olio" <dalloliogm a fastwebnet.it>
To: <python a lists.python.it>
Sent: Monday, October 24, 2005 11:22 AM
Subject: [PIPython] PyChart - scrivere su StringIO


> Qualcuno di voi usa PyChart?
> Io sto imparando da poco e sto cercando di utilizzare StringIO per
> scrivere un grafico su una stringa, anzichè su un file. Il problema è che 
> questo script semplicemente non funziona:
>
> def plot2():
>
>       theme.reinitialize()
>       canv_obj = StringIO.StringIO()
>
>       canv = canvas.init(fname=canv_obj, format="png")
>
>       data = [["Jan", 10], ["Feb", 22], ["Mar", 30]]
>
>       ar = area.T(x_coord = category_coord.T(data, 0),
>       y_range = (0, None),
>       x_axis = axis.X(),
>       y_axis = axis.Y())
>       ar.add_plot(bar_plot.T(data = data, label = "Something"))
>
>       graph = ar.draw()
>       graph_code = canv_obj.len#.getvalue()
>       return graph_code
>
> Ho seguito e riletto il tutorial per più volte, ma per qualche strano
> motivo graph_code mi ritorna sempre vuoto, sia che utilizzi
> canv_obj.get_value, o .read, o altro (anche .len, che utilizzo per
> test, mi ritorna 0).
> Ho provato a mettere anche ar.draw(canv) ma non funziona.
> Se al posto di StringIO metto un oggetto file vero, lo script mi
> ritorna qualcosa, ma solo se utilizzo ar.draw() e non ar.draw(canv).
> Infine ho provato StringIO anche su altri esempi di grafici, presi dal
> tutorial.
> Dov'è l'errore? In realtà è un mese che cerco di risolvere.
> grazie...
>
> _______________________________________________
> La mailing list di python.it
> python a lists.python.it
> http://lists.python.it/cgi-bin/mailman/listinfo/python 



More information about the Python mailing list