From: Tony Yu <ts...@gm...> - 2012-05-11 21:44:17
|
On Fri, May 11, 2012 at 4:20 PM, Benjamin Root <ben...@ou...> wrote: > > > On Fri, May 11, 2012 at 4:17 PM, Paul Ivanov <piv...@gm...> wrote: > >> Hey everyone, >> >> I wanted to highlight Matthew Emmett's (memmett) PR in progress [1] that >> brings the ability to switch between rcParams. >> >> Matthew's implementation started with just being able to read in and use >> an rcParam file, and I suggested the idea of having a context manager, >> that would allow you to do something like: >> >> with rc_context(fname): >> plt.plot() >> ... >> >> and have the rcParams restored outside of the context. >> >> I know there have been a few threads (can't find links now for some >> reason) and in-person discussions in the past about having this kind of >> ability in matplotlib, and having an idea of "styles", and Tony Yu >> implemented a variant of this on top of matplotlib in mpltools [2], but >> I wanted to ping the list here for other ideas and feelings about such >> functionality (if anyone can find pointers to previous discussions, that >> would be very welcome). >> >> 1. https://github.com/matplotlib/matplotlib/pull/861 >> 2. https://github.com/tonysyu/mpltools >> >> best, >> -- >> Paul Ivanov >> 314 address only used for lists, off-list direct email at: >> http://pirsquared.org | GPG/PGP key id: 0x0F3E28F7 >> >> > Such a feature would clean up the test code considerably. > > Ben Root > > Thanks for pinging me on the PR, Paul. Both the original PR and the addition of the context manager are great ideas. Just to clarify, what I implemented in mpltools was a sort-of stylesheet that can be easily accessed (i.e. you don't have to remember the path, just the name; and if you forget that, it's listed in a module attribute). But, I ended up using ConfigObj to parse the rc file instead of using matplotlib's parser. One major disadvantage of that approach is that ConfigObj uses a different syntax than matplotlib's rc parameters. In this sense, the PR would help greatly to fix this discrepancy. Unfortunately, the PR doesn't completely fulfill my needs. I wanted to allow multiple stylesheets to be declared in a single file; this means I'd need to plug into the loop that iterates over the lines of the file. I can push in that direction on the PR, but I don't want to do that unless people think this would be more-generally useful. -Tony |