[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