|
From: Simone G. <sim...@gm...> - 2009-01-18 17:36:59
|
Dear List, I have some variables I want to plot... the values of those variable change in time... I would like to plot the result with a traditional line plot those variables are traits of a class (don't know if this can make a difference...) is there any example of this with matplotlib? best regards, simone gabbriellini |
|
From: C L. <ch...@na...> - 2009-01-18 22:41:07
|
Guessing about what you want: Does the class change with time? that is, perhaps you have a class foo, and foo evolves, and you would like to plot a history of some traits of foo, but at any given moment foo only contains its current state? If so, I think you need to have a function in foo, or even a separate class, that takes `snapshots' of foo's traits on one schedule, and stores them, and can also plot them on some schedule. Choosing how to do that is more a python problem than a matplotlib problem; personally, I have something set up so class 'profile' has functions to 'setup_plot' and 'add_current_state_to_plot', and I just have to choose when to call the latter. Or you can just store the values and plot at the end; once you have one list of the times, and a separate list of each trait's history at those times, you're set up for matplotlib plotting, e.g. from pylab import * plot(times, traitA, times, traitB, times, traitC) show() although, while looking for a simple example, I found this: http://matplotlib.sourceforge.net/examples/pylab_examples/plotfile_demo.html which is not totally simple but looks great. &C On Jan 18, 2009, at 9:36 AM, Simone Gabbriellini wrote: > Dear List, > > I have some variables I want to plot... the values of those variable > change in time... I would like to plot the result with a traditional > line plot > > those variables are traits of a class (don't know if this can make a > difference...) > > is there any example of this with matplotlib? > > best regards, > simone gabbriellini > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by: > SourcForge Community > SourceForge wants to tell your story. > http://p.sf.net/sfu/sf-spreadtheword > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
|
From: Simone G. <sim...@gm...> - 2009-01-18 23:18:23
|
thanks, it is exactly what I need... I have undestood the logic, I build a plot, put my traits values into an array and then I call the add_current_state_to_plot function to update the plot with the new values... I am an absolute beginner of matplotlib, can you give me a little example of add_current_state_to_plot function? Because I don't know the right way to update: do I have to pass all the array, or just the new values? best regards, simone 2009/1/18 C Lewis <ch...@na...>: > Guessing about what you want: > > Does the class change with time? that is, perhaps you have a class foo, and > foo evolves, and you would like to plot a history of some traits of foo, but > at any given moment foo only contains its current state? > > If so, I think you need to have a function in foo, or even a separate class, > that takes `snapshots' of foo's traits on one schedule, and stores them, and > can also plot them on some schedule. Choosing how to do that is more a > python problem than a matplotlib problem; personally, I have something set > up so class 'profile' has functions to 'setup_plot' and > 'add_current_state_to_plot', and I just have to choose when to call the > latter. > > Or you can just store the values and plot at the end; once you have one list > of the times, and a separate list of each trait's history at those times, > you're set up for matplotlib plotting, e.g. > > from pylab import * > plot(times, traitA, times, traitB, times, traitC) > show() > > although, while looking for a simple example, I found this: > > http://matplotlib.sourceforge.net/examples/pylab_examples/plotfile_demo.html > > which is not totally simple but looks great. > > > &C > > On Jan 18, 2009, at 9:36 AM, Simone Gabbriellini wrote: > >> Dear List, >> >> I have some variables I want to plot... the values of those variable >> change in time... I would like to plot the result with a traditional >> line plot >> >> those variables are traits of a class (don't know if this can make a >> difference...) >> >> is there any example of this with matplotlib? >> >> best regards, >> simone gabbriellini >> >> >> ------------------------------------------------------------------------------ >> This SF.net email is sponsored by: >> SourcForge Community >> SourceForge wants to tell your story. >> http://p.sf.net/sfu/sf-spreadtheword >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > |
|
From: C L. <ch...@na...> - 2009-01-19 00:41:58
|
#Skeleton example of a taking snapshots of an evolving class
import pylab as p
from math import log
class foo:
def __init__(self):
self.red = 0
self.green = 1
self.age = 0
self.history = ([self.age],[self.red],[self.green])
def snapshot(self):
self.history[0].append(self.age)
self.history[1].append(self.red)
self.history[2].append(self.green)
def evolve(self, time):
self.red = self.red + time/2
self.green = self.green * log(time)
self.age = self.age + time
self.snapshot()
def display(self):
p.plot(self.history[0],self.history[1],self.history[0],self.history[2])
p.show()
if __name__ == '__main__':
f = foo()
f.snapshot()
f.evolve(6); f.evolve(.27);f.evolve(10);f.evolve(2)
print f.history
f.display()
On Jan 18, 2009, at 3:18 PM, Simone Gabbriellini wrote:
> thanks, it is exactly what I need... I have undestood the logic, I
> build a plot, put my traits values into an array and then I call the
> add_current_state_to_plot function to update the plot with the new
> values...
>
> I am an absolute beginner of matplotlib, can you give me a little
> example of add_current_state_to_plot function? Because I don't know
> the right way to update: do I have to pass all the array, or just the
> new values?
>
> best regards,
> simone
>
> 2009/1/18 C Lewis <ch...@na...>:
>> Guessing about what you want:
>>
>> Does the class change with time? that is, perhaps you have a class
>> foo, and
>> foo evolves, and you would like to plot a history of some traits of
>> foo, but
>> at any given moment foo only contains its current state?
>>
>> If so, I think you need to have a function in foo, or even a
>> separate class,
>> that takes `snapshots' of foo's traits on one schedule, and stores
>> them, and
>> can also plot them on some schedule. Choosing how to do that is
>> more a
>> python problem than a matplotlib problem; personally, I have
>> something set
>> up so class 'profile' has functions to 'setup_plot' and
>> 'add_current_state_to_plot', and I just have to choose when to call
>> the
>> latter.
>>
>> Or you can just store the values and plot at the end; once you have
>> one list
>> of the times, and a separate list of each trait's history at those
>> times,
>> you're set up for matplotlib plotting, e.g.
>>
>> from pylab import *
>> plot(times, traitA, times, traitB, times, traitC)
>> show()
>>
>> although, while looking for a simple example, I found this:
>>
>> http://matplotlib.sourceforge.net/examples/pylab_examples/plotfile_demo.html
>>
>> which is not totally simple but looks great.
>>
>>
>> &C
>>
>> On Jan 18, 2009, at 9:36 AM, Simone Gabbriellini wrote:
>>
>>> Dear List,
>>>
>>> I have some variables I want to plot... the values of those variable
>>> change in time... I would like to plot the result with a traditional
>>> line plot
>>>
>>> those variables are traits of a class (don't know if this can make a
>>> difference...)
>>>
>>> is there any example of this with matplotlib?
>>>
>>> best regards,
>>> simone gabbriellini
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> This SF.net email is sponsored by:
>>> SourcForge Community
>>> SourceForge wants to tell your story.
>>> http://p.sf.net/sfu/sf-spreadtheword
>>> _______________________________________________
>>> Matplotlib-users mailing list
>>> Mat...@li...
>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>
>>
Chloe Lewis
Graduate student, Amundson Lab
Division of Ecosystem Sciences, ESPM
University of California, Berkeley
137 Mulford Hall - #3114
Berkeley, CA 94720-3114
ch...@na...
|
|
From: Simone G. <sim...@gm...> - 2009-01-19 08:33:49
|
I see that you first build your array and then display it at the end... is it possible in matplotlib to update the plot while the class is evolving? like: f.evolve(6) f.display() f.evolve(.27) f.display() f.evolve(10) f.display() f.evolve(2) f.display() best regards, simone 2009/1/19 C Lewis <ch...@na...>: > #Skeleton example of a taking snapshots of an evolving class > import pylab as p > from math import log > class foo: > def __init__(self): > self.red = 0 > self.green = 1 > self.age = 0 > self.history = ([self.age],[self.red],[self.green]) > > def snapshot(self): > self.history[0].append(self.age) > self.history[1].append(self.red) > self.history[2].append(self.green) > > def evolve(self, time): > self.red = self.red + time/2 > self.green = self.green * log(time) > self.age = self.age + time > self.snapshot() > > def display(self): > > p.plot(self.history[0],self.history[1],self.history[0],self.history[2]) > p.show() > > if __name__ == '__main__': > f = foo() > f.snapshot() > f.evolve(6); f.evolve(.27);f.evolve(10);f.evolve(2) > print f.history > f.display() > > On Jan 18, 2009, at 3:18 PM, Simone Gabbriellini wrote: > >> thanks, it is exactly what I need... I have undestood the logic, I >> build a plot, put my traits values into an array and then I call the >> add_current_state_to_plot function to update the plot with the new >> values... >> >> I am an absolute beginner of matplotlib, can you give me a little >> example of add_current_state_to_plot function? Because I don't know >> the right way to update: do I have to pass all the array, or just the >> new values? >> >> best regards, >> simone >> >> 2009/1/18 C Lewis <ch...@na...>: >>> >>> Guessing about what you want: >>> >>> Does the class change with time? that is, perhaps you have a class foo, >>> and >>> foo evolves, and you would like to plot a history of some traits of foo, >>> but >>> at any given moment foo only contains its current state? >>> >>> If so, I think you need to have a function in foo, or even a separate >>> class, >>> that takes `snapshots' of foo's traits on one schedule, and stores them, >>> and >>> can also plot them on some schedule. Choosing how to do that is more a >>> python problem than a matplotlib problem; personally, I have something >>> set >>> up so class 'profile' has functions to 'setup_plot' and >>> 'add_current_state_to_plot', and I just have to choose when to call the >>> latter. >>> >>> Or you can just store the values and plot at the end; once you have one >>> list >>> of the times, and a separate list of each trait's history at those times, >>> you're set up for matplotlib plotting, e.g. >>> >>> from pylab import * >>> plot(times, traitA, times, traitB, times, traitC) >>> show() >>> >>> although, while looking for a simple example, I found this: >>> >>> >>> http://matplotlib.sourceforge.net/examples/pylab_examples/plotfile_demo.html >>> >>> which is not totally simple but looks great. >>> >>> >>> &C >>> >>> On Jan 18, 2009, at 9:36 AM, Simone Gabbriellini wrote: >>> >>>> Dear List, >>>> >>>> I have some variables I want to plot... the values of those variable >>>> change in time... I would like to plot the result with a traditional >>>> line plot >>>> >>>> those variables are traits of a class (don't know if this can make a >>>> difference...) >>>> >>>> is there any example of this with matplotlib? >>>> >>>> best regards, >>>> simone gabbriellini >>>> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> This SF.net email is sponsored by: >>>> SourcForge Community >>>> SourceForge wants to tell your story. >>>> http://p.sf.net/sfu/sf-spreadtheword >>>> _______________________________________________ >>>> Matplotlib-users mailing list >>>> Mat...@li... >>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>> >>> > > Chloe Lewis > Graduate student, Amundson Lab > Division of Ecosystem Sciences, ESPM > University of California, Berkeley > 137 Mulford Hall - #3114 > Berkeley, CA 94720-3114 > ch...@na... > > |
|
From: Ryan M. <rm...@gm...> - 2009-01-20 02:19:55
|
Simone Gabbriellini wrote: > I see that you first build your array and then display it at the end... > > is it possible in matplotlib to update the plot while the class is > evolving? like: > > f.evolve(6) > f.display() > f.evolve(.27) > f.display() > f.evolve(10) > f.display() > f.evolve(2) > f.display() You'd want to look at the animation examples in examples/animation. The exact details will depend upon what backend you want to use, but strip_chart_demo.py, simple_anim_gtk.py, and gtk_timeout.py are good places to start. HTH, Ryan -- Ryan May Graduate Research Assistant School of Meteorology University of Oklahoma |
|
From: eliben <el...@gm...> - 2009-01-23 11:08:47
|
Simone Gabbriellini-3 wrote: > > Dear List, > > I have some variables I want to plot... the values of those variable > change in time... I would like to plot the result with a traditional > line plot > > those variables are traits of a class (don't know if this can make a > difference...) > > is there any example of this with matplotlib? > Hi Simone, I think you will find the following examples useful: http://eli.thegreenplace.net/2008/08/01/matplotlib-with-wxpython-guis/ Both feature "dynamic" plotting of variables that change (either by the user or in time) Eli -- View this message in context: http://www.nabble.com/plot-a-data-stream-with-matplotlib-tp21530559p21622559.html Sent from the matplotlib - users mailing list archive at Nabble.com. |
|
From: Simone G. <sim...@gm...> - 2009-01-23 14:48:13
|
that's nice!!! thank you... anyway, I wanted to take advantage of the Traits implementation of my app... simone 2009/1/23 eliben <el...@gm...>: > > > > Simone Gabbriellini-3 wrote: >> >> Dear List, >> >> I have some variables I want to plot... the values of those variable >> change in time... I would like to plot the result with a traditional >> line plot >> >> those variables are traits of a class (don't know if this can make a >> difference...) >> >> is there any example of this with matplotlib? >> > > Hi Simone, > > I think you will find the following examples useful: > http://eli.thegreenplace.net/2008/08/01/matplotlib-with-wxpython-guis/ > > Both feature "dynamic" plotting of variables that change (either by the user > or in time) > > Eli > > > -- > View this message in context: http://www.nabble.com/plot-a-data-stream-with-matplotlib-tp21530559p21622559.html > Sent from the matplotlib - users mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by: > SourcForge Community > SourceForge wants to tell your story. > http://p.sf.net/sfu/sf-spreadtheword > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > |