Thank you for the tip. I actually had played around with 
matplotlib.rcdefaults() before, but that didn't work. I tried now the 
using exactly the clear_state function you suggested. Since it still 
didn't work, I finally found out that I had a very similar problem with 
another module from which I determine axes, figure size and other 
things. So, thank you very much, that helped me a lot and now things 
work the way I want!

On Die 18 Okt 2011 04:45:27 CEST, John Hunter wrote:
> On Mon, Oct 17, 2011 at 2:57 PM, tinux <hoffmann.mar...@gmail.com> wrote:
>>
>> I have around 100 python files, that each create one figure using matplotlib.
>> Since I want to use all CPU cores, I basically did "for filename in files:
>> execfile(filename)" using a python script. However, this does not produce
>> the same output as running each file separately (for instance axes, figure
>> size are sometime wrong).
>> I _think_ I narrowed it down to this: In all files I need to do
>> "matplotlib.rcParams(update)". I guess that this influences the matplotlib
>> rc parameters and thus somehow values from some figures are used for others.
>>
>> So, my question is, how can I do something like
>> "matplotlib.rcParams(update)" so that it does not influence other scripts
>> that are run in parallel using 'execfile'? Or, how do I set rc parameters
>> for one specific script?
>>
>> BTW, I tried 'pp' and 'multiprocessing', same problem with both.
>
> The problem is that the rc params are module level in matplotlib so in
> a persistent process like ipython if one script modifies the rc
> params, subsequent files executed in the same process will be
> affected.  You can restore the rc params to their default state by
> doing before each call to execfile
>
>     import matplotlib
>     matplotlib.rc_file_defaults()
>
>
> We face the same issue in the "plot_directive" which we use when
> building the matplotlib documentation.  We define a function
> "clear_state" in
>
>   
> https://github.com/matplotlib/matplotlib/blob/master/lib/matplotlib/sphinxext/plot_directive.py#L484
>
> which closes all open figures, restore the rc defaults, and the
> updates the defaults to an rc dictionary of the parameters we want for
> each run.

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2d-oct
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to