Alternative way of specifying plot layout

Hi,

I’ve been experimenting with a simple idea for specifying plot layout in a rather intuitive way.

The idea is simply to “draw” your layout using strings.

Examples:

layout = [“AB”]

-> means two plots side by side with equal width

layout = [“AAAB”]

-> means two plots side by side A being 3 times wider than B

layout = [“AB”,

      "CC"]

-> means two plots (A & B) side by side and C below with full width

layout = [“AB”,

      "C "]

-> means two plots (A & B) side by side and C below A (same width)

etc… (have a look at sources)

I guess you cannot express every layout but it might work for most common ones.

If you think this might a good addition I can try to make a PR but I’m not sure where to insert it.

My idea would be to have a layout function such that you can write:

A,B,C = plt.layout([“AB”, “CC”], border=0.01)

A.plot(…)

B.plot(…)

C.plot(…)

Nicolas

layout.py (1.48 KB)

Cool. I think it make sense to put this in to pyplot.py next to subplots

Tom

···

On Wed, Mar 18, 2015 at 1:14 PM Nicolas P. Rougier <Nicolas.Rougier@…922…> wrote:

Hi,

I’ve been experimenting with a simple idea for specifying plot layout in a rather intuitive way.

The idea is simply to “draw” your layout using strings.

Examples:

layout = [“AB”]

-> means two plots side by side with equal width

layout = [“AAAB”]

-> means two plots side by side A being 3 times wider than B

layout = [“AB”,

      "CC"]

-> means two plots (A & B) side by side and C below with full width

layout = [“AB”,

      "C "]

-> means two plots (A & B) side by side and C below A (same width)

etc… (have a look at sources)

I guess you cannot express every layout but it might work for most common ones.

If you think this might a good addition I can try to make a PR but I’m not sure where to insert it.

My idea would be to have a layout function such that you can write:

A,B,C = plt.layout([“AB”, “CC”], border=0.01)

A.plot(…)

B.plot(…)

C.plot(…)

Nicolas


Dive into the World of Parallel Programming The Go Parallel Website, sponsored

by Intel and developed in partnership with Slashdot Media, is your hub for all

things parallel software development, from weekly thought leadership blogs to

news, videos, case studies, tutorials and more. Take a look and join the

conversation now. http://goparallel.sourceforge.net/_______________________________________________

Matplotlib-devel mailing list

Matplotlib-devel@…1041…sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

That is neat. I would be sure to put in some “…seealso::” lines in places like plt.subplots and GridSpec and such.

A thought… could this perhaps be extended somehow to specify colorbars in the layout? I am not sure how I would do that, but if we could come up with a way to do it, that would make this a killer feature. But even without that, this is still pretty useful.

···

On Wed, Mar 18, 2015 at 1:20 PM, Thomas Caswell <tcaswell@…149…> wrote:

Cool. I think it make sense to put this in to pyplot.py next to subplots

Tom

On Wed, Mar 18, 2015 at 1:14 PM Nicolas P. Rougier <Nicolas.Rougier@…922…> wrote:

Hi,

I’ve been experimenting with a simple idea for specifying plot layout in a rather intuitive way.

The idea is simply to “draw” your layout using strings.

Examples:

layout = [“AB”]

-> means two plots side by side with equal width

layout = [“AAAB”]

-> means two plots side by side A being 3 times wider than B

layout = [“AB”,

      "CC"]

-> means two plots (A & B) side by side and C below with full width

layout = [“AB”,

      "C "]

-> means two plots (A & B) side by side and C below A (same width)

etc… (have a look at sources)

I guess you cannot express every layout but it might work for most common ones.

If you think this might a good addition I can try to make a PR but I’m not sure where to insert it.

My idea would be to have a layout function such that you can write:

A,B,C = plt.layout([“AB”, “CC”], border=0.01)

A.plot(…)

B.plot(…)

C.plot(…)

Nicolas


Dive into the World of Parallel Programming The Go Parallel Website, sponsored

by Intel and developed in partnership with Slashdot Media, is your hub for all

things parallel software development, from weekly thought leadership blogs to

news, videos, case studies, tutorials and more. Take a look and join the

conversation now. http://goparallel.sourceforge.net/_______________________________________________

Matplotlib-devel mailing list

Matplotlib-devel@…1041…sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Dive into the World of Parallel Programming The Go Parallel Website, sponsored

by Intel and developed in partnership with Slashdot Media, is your hub for all

things parallel software development, from weekly thought leadership blogs to

news, videos, case studies, tutorials and more. Take a look and join the

conversation now. http://goparallel.sourceforge.net/


Matplotlib-devel mailing list

Matplotlib-devel@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Also, perhaps it makes sense to make this a MEP to finalize and document the spec?

···

On Wed, Mar 18, 2015 at 1:42 PM, Benjamin Root <ben.root@…553…> wrote:

That is neat. I would be sure to put in some “…seealso::” lines in places like plt.subplots and GridSpec and such.

A thought… could this perhaps be extended somehow to specify colorbars in the layout? I am not sure how I would do that, but if we could come up with a way to do it, that would make this a killer feature. But even without that, this is still pretty useful.

On Wed, Mar 18, 2015 at 1:20 PM, Thomas Caswell <tcaswell@…149…> wrote:

Cool. I think it make sense to put this in to pyplot.py next to subplots

Tom

On Wed, Mar 18, 2015 at 1:14 PM Nicolas P. Rougier <Nicolas.Rougier@…922…> wrote:

Hi,

I’ve been experimenting with a simple idea for specifying plot layout in a rather intuitive way.

The idea is simply to “draw” your layout using strings.

Examples:

layout = [“AB”]

-> means two plots side by side with equal width

layout = [“AAAB”]

-> means two plots side by side A being 3 times wider than B

layout = [“AB”,

      "CC"]

-> means two plots (A & B) side by side and C below with full width

layout = [“AB”,

      "C "]

-> means two plots (A & B) side by side and C below A (same width)

etc… (have a look at sources)

I guess you cannot express every layout but it might work for most common ones.

If you think this might a good addition I can try to make a PR but I’m not sure where to insert it.

My idea would be to have a layout function such that you can write:

A,B,C = plt.layout([“AB”, “CC”], border=0.01)

A.plot(…)

B.plot(…)

C.plot(…)

Nicolas


Dive into the World of Parallel Programming The Go Parallel Website, sponsored

by Intel and developed in partnership with Slashdot Media, is your hub for all

things parallel software development, from weekly thought leadership blogs to

news, videos, case studies, tutorials and more. Take a look and join the

conversation now. http://goparallel.sourceforge.net/_______________________________________________

Matplotlib-devel mailing list

Matplotlib-devel@…1041…sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Dive into the World of Parallel Programming The Go Parallel Website, sponsored

by Intel and developed in partnership with Slashdot Media, is your hub for all

things parallel software development, from weekly thought leadership blogs to

news, videos, case studies, tutorials and more. Take a look and join the

conversation now. http://goparallel.sourceforge.net/


Matplotlib-devel mailing list

Matplotlib-devel@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Yes, a MEP makes sense to discuss the proposal.
What's the procedure to open a MEP (i.e. where) ?

Nicolas

···

On 18 Mar 2015, at 18:44, Benjamin Root <ben.root@...553...> wrote:

Also, perhaps it makes sense to make this a MEP to finalize and document the spec?

On Wed, Mar 18, 2015 at 1:42 PM, Benjamin Root <ben.root@...553...> wrote:
That is neat. I would be sure to put in some "..seealso::" lines in places like plt.subplots and GridSpec and such.

A thought... could this perhaps be extended somehow to specify colorbars in the layout? I am not sure how I would do that, but if we could come up with a way to do it, *that* would make this a killer feature. But even without that, this is still pretty useful.

On Wed, Mar 18, 2015 at 1:20 PM, Thomas Caswell <tcaswell@...149...> wrote:
Cool. I think it make sense to put this in to `pyplot.py` next to `subplots`

Tom

On Wed, Mar 18, 2015 at 1:14 PM Nicolas P. Rougier <Nicolas.Rougier@...983...2...> wrote:

Hi,

I've been experimenting with a simple idea for specifying plot layout in a rather intuitive way.
The idea is simply to "draw" your layout using strings.

Examples:

layout = ["AB"]
-> means two plots side by side with equal width

layout = ["AAAB"]
-> means two plots side by side A being 3 times wider than B

layout = ["AB",
          "CC"]
-> means two plots (A & B) side by side and C below with full width

layout = ["AB",
          "C "]
-> means two plots (A & B) side by side and C below A (same width)

etc... (have a look at sources)

I guess you cannot express every layout but it might work for most common ones.

If you think this might a good addition I can try to make a PR but I'm not sure where to insert it.
My idea would be to have a layout function such that you can write:

A,B,C = plt.layout(["AB", "CC"], border=0.01)
A.plot(...)
B.plot(...)
C.plot(...)

Nicolas

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now. http://goparallel.sourceforge.net/_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

A lower-case letter could indicate a colorbar-size Axes:

layout = ["ABc",
           "DE ",
           "ff "]

would put a vertical think axes to the right of B, and a double-wide hoizontal one below D and E.

All of this seems like an alternative API for gridspec and axes_grid1.

I am concerned about ending up with too many ways to do things, but with subtle differences.

How much control over spacing and sizing would be provided by kwargs or other adjustment mechanisms? How would this relate to subplot_params?

Eric

···

On 2015/03/18 7:42 AM, Benjamin Root wrote:

A thought... could this perhaps be extended somehow to specify colorbars
in the layout?

Fantastic question. I don’t see any mention of it in the docs. Perhaps I should create a MEP to discuss that…

This is the best I could find: https://github.com/matplotlib/matplotlib/wiki

···

On Wed, Mar 18, 2015 at 1:45 PM, Nicolas P. Rougier <Nicolas.Rougier@…922…> wrote:

Yes, a MEP makes sense to discuss the proposal.

What’s the procedure to open a MEP (i.e. where) ?

Nicolas

On 18 Mar 2015, at 18:44, Benjamin Root <ben.root@…553…> wrote:

Also, perhaps it makes sense to make this a MEP to finalize and document the spec?

On Wed, Mar 18, 2015 at 1:42 PM, Benjamin Root <ben.root@…553…> wrote:

That is neat. I would be sure to put in some “…seealso::” lines in places like plt.subplots and GridSpec and such.

A thought… could this perhaps be extended somehow to specify colorbars in the layout? I am not sure how I would do that, but if we could come up with a way to do it, that would make this a killer feature. But even without that, this is still pretty useful.

On Wed, Mar 18, 2015 at 1:20 PM, Thomas Caswell <tcaswell@…149…> wrote:

Cool. I think it make sense to put this in to pyplot.py next to subplots

Tom

On Wed, Mar 18, 2015 at 1:14 PM Nicolas P. Rougier <Nicolas.Rougier@…922…> wrote:

Hi,

I’ve been experimenting with a simple idea for specifying plot layout in a rather intuitive way.

The idea is simply to “draw” your layout using strings.

Examples:

layout = [“AB”]

-> means two plots side by side with equal width

layout = [“AAAB”]

-> means two plots side by side A being 3 times wider than B

layout = [“AB”,

      "CC"]

-> means two plots (A & B) side by side and C below with full width

layout = [“AB”,

      "C "]

-> means two plots (A & B) side by side and C below A (same width)

etc… (have a look at sources)

I guess you cannot express every layout but it might work for most common ones.

If you think this might a good addition I can try to make a PR but I’m not sure where to insert it.

My idea would be to have a layout function such that you can write:

A,B,C = plt.layout([“AB”, “CC”], border=0.01)

A.plot(…)

B.plot(…)

C.plot(…)

Nicolas


Dive into the World of Parallel Programming The Go Parallel Website, sponsored

by Intel and developed in partnership with Slashdot Media, is your hub for all

things parallel software development, from weekly thought leadership blogs to

news, videos, case studies, tutorials and more. Take a look and join the

conversation now. http://goparallel.sourceforge.net/_______________________________________________

Matplotlib-devel mailing list

Matplotlib-devel@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Dive into the World of Parallel Programming The Go Parallel Website, sponsored

by Intel and developed in partnership with Slashdot Media, is your hub for all

things parallel software development, from weekly thought leadership blogs to

news, videos, case studies, tutorials and more. Take a look and join the

conversation now. http://goparallel.sourceforge.net/


Matplotlib-devel mailing list

Matplotlib-devel@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Dive into the World of Parallel Programming The Go Parallel Website, sponsored

by Intel and developed in partnership with Slashdot Media, is your hub for all

things parallel software development, from weekly thought leadership blogs to

news, videos, case studies, tutorials and more. Take a look and join the

conversation now. http://goparallel.sourceforge.net/


Matplotlib-devel mailing list

Matplotlib-devel@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Currently we are doing MEPs on the wiki (https://github.com/matplotlib/matplotlib/wiki/MEPTemplate) , but I would like to move them to be in the docs (make a MEP folder next to ‘users’?) as the visibility on the wiki is low, there isn’t a great way to leave line comments, and we should have these documents in the official docs eventually.

Tom

···

On Wed, Mar 18, 2015 at 1:45 PM Nicolas P. Rougier <Nicolas.Rougier@…922…> wrote:

Yes, a MEP makes sense to discuss the proposal.

What’s the procedure to open a MEP (i.e. where) ?

Nicolas

On 18 Mar 2015, at 18:44, Benjamin Root <ben.root@…553…> wrote:

Also, perhaps it makes sense to make this a MEP to finalize and document the spec?

On Wed, Mar 18, 2015 at 1:42 PM, Benjamin Root <ben.root@…553…> wrote:

That is neat. I would be sure to put in some “…seealso::” lines in places like plt.subplots and GridSpec and such.

A thought… could this perhaps be extended somehow to specify colorbars in the layout? I am not sure how I would do that, but if we could come up with a way to do it, that would make this a killer feature. But even without that, this is still pretty useful.

On Wed, Mar 18, 2015 at 1:20 PM, Thomas Caswell <tcaswell@…149…> wrote:

Cool. I think it make sense to put this in to pyplot.py next to subplots

Tom

On Wed, Mar 18, 2015 at 1:14 PM Nicolas P. Rougier <Nicolas.Rougier@…922…> wrote:

Hi,

I’ve been experimenting with a simple idea for specifying plot layout in a rather intuitive way.

The idea is simply to “draw” your layout using strings.

Examples:

layout = [“AB”]

-> means two plots side by side with equal width

layout = [“AAAB”]

-> means two plots side by side A being 3 times wider than B

layout = [“AB”,

      "CC"]

-> means two plots (A & B) side by side and C below with full width

layout = [“AB”,

      "C "]

-> means two plots (A & B) side by side and C below A (same width)

etc… (have a look at sources)

I guess you cannot express every layout but it might work for most common ones.

If you think this might a good addition I can try to make a PR but I’m not sure where to insert it.

My idea would be to have a layout function such that you can write:

A,B,C = plt.layout([“AB”, “CC”], border=0.01)

A.plot(…)

B.plot(…)

C.plot(…)

Nicolas


Dive into the World of Parallel Programming The Go Parallel Website, sponsored

by Intel and developed in partnership with Slashdot Media, is your hub for all

things parallel software development, from weekly thought leadership blogs to

news, videos, case studies, tutorials and more. Take a look and join the

conversation now. http://goparallel.sourceforge.net/_______________________________________________

Matplotlib-devel mailing list

Matplotlib-devel@…1041…sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Dive into the World of Parallel Programming The Go Parallel Website, sponsored

by Intel and developed in partnership with Slashdot Media, is your hub for all

things parallel software development, from weekly thought leadership blogs to

news, videos, case studies, tutorials and more. Take a look and join the

conversation now. http://goparallel.sourceforge.net/


Matplotlib-devel mailing list

Matplotlib-devel@…1041…sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

I like that. Furthermore, now that we build and push the docs with every merge in master, there is less reason to not do it that way.

···

On Wed, Mar 18, 2015 at 1:56 PM, Thomas Caswell <tcaswell@…149…> wrote:

Currently we are doing MEPs on the wiki (https://github.com/matplotlib/matplotlib/wiki/MEPTemplate) , but I would like to move them to be in the docs (make a MEP folder next to ‘users’?) as the visibility on the wiki is low, there isn’t a great way to leave line comments, and we should have these documents in the official docs eventually.

Tom

On Wed, Mar 18, 2015 at 1:45 PM Nicolas P. Rougier <Nicolas.Rougier@…922…> wrote:

Yes, a MEP makes sense to discuss the proposal.

What’s the procedure to open a MEP (i.e. where) ?

Nicolas

On 18 Mar 2015, at 18:44, Benjamin Root <ben.root@…553…> wrote:

Also, perhaps it makes sense to make this a MEP to finalize and document the spec?

On Wed, Mar 18, 2015 at 1:42 PM, Benjamin Root <ben.root@…553…> wrote:

That is neat. I would be sure to put in some “…seealso::” lines in places like plt.subplots and GridSpec and such.

A thought… could this perhaps be extended somehow to specify colorbars in the layout? I am not sure how I would do that, but if we could come up with a way to do it, that would make this a killer feature. But even without that, this is still pretty useful.

On Wed, Mar 18, 2015 at 1:20 PM, Thomas Caswell <tcaswell@…149…> wrote:

Cool. I think it make sense to put this in to pyplot.py next to subplots

Tom

On Wed, Mar 18, 2015 at 1:14 PM Nicolas P. Rougier <Nicolas.Rougier@…922…> wrote:

Hi,

I’ve been experimenting with a simple idea for specifying plot layout in a rather intuitive way.

The idea is simply to “draw” your layout using strings.

Examples:

layout = [“AB”]

-> means two plots side by side with equal width

layout = [“AAAB”]

-> means two plots side by side A being 3 times wider than B

layout = [“AB”,

      "CC"]

-> means two plots (A & B) side by side and C below with full width

layout = [“AB”,

      "C "]

-> means two plots (A & B) side by side and C below A (same width)

etc… (have a look at sources)

I guess you cannot express every layout but it might work for most common ones.

If you think this might a good addition I can try to make a PR but I’m not sure where to insert it.

My idea would be to have a layout function such that you can write:

A,B,C = plt.layout([“AB”, “CC”], border=0.01)

A.plot(…)

B.plot(…)

C.plot(…)

Nicolas


Dive into the World of Parallel Programming The Go Parallel Website, sponsored

by Intel and developed in partnership with Slashdot Media, is your hub for all

things parallel software development, from weekly thought leadership blogs to

news, videos, case studies, tutorials and more. Take a look and join the

conversation now. http://goparallel.sourceforge.net/_______________________________________________

Matplotlib-devel mailing list

Matplotlib-devel@…1041…sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Dive into the World of Parallel Programming The Go Parallel Website, sponsored

by Intel and developed in partnership with Slashdot Media, is your hub for all

things parallel software development, from weekly thought leadership blogs to

news, videos, case studies, tutorials and more. Take a look and join the

conversation now. http://goparallel.sourceforge.net/


Matplotlib-devel mailing list

Matplotlib-devel@…1041…sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

I love this layout spec idea! Gridspec is a pain in the ass. Bonus points for actually drawing the letter e.g. on the top left corner of each panel, so that the figures are ready for publication.

···

On Wed, Mar 18, 2015 at 1:56 PM, Thomas Caswell <tcaswell@…272…149…> wrote:

Currently we are doing MEPs on the wiki (https://github.com/matplotlib/matplotlib/wiki/MEPTemplate) , but I would like to move them to be in the docs (make a MEP folder next to ‘users’?) as the visibility on the wiki is low, there isn’t a great way to leave line comments, and we should have these documents in the official docs eventually.

Tom

On Wed, Mar 18, 2015 at 1:45 PM Nicolas P. Rougier <Nicolas.Rougier@…552…922…> wrote:

Yes, a MEP makes sense to discuss the proposal.

What’s the procedure to open a MEP (i.e. where) ?

Nicolas

On 18 Mar 2015, at 18:44, Benjamin Root <ben.root@…553…> wrote:

Also, perhaps it makes sense to make this a MEP to finalize and document the spec?

On Wed, Mar 18, 2015 at 1:42 PM, Benjamin Root <ben.root@…553…> wrote:

That is neat. I would be sure to put in some “…seealso::” lines in places like plt.subplots and GridSpec and such.

A thought… could this perhaps be extended somehow to specify colorbars in the layout? I am not sure how I would do that, but if we could come up with a way to do it, that would make this a killer feature. But even without that, this is still pretty useful.

On Wed, Mar 18, 2015 at 1:20 PM, Thomas Caswell <tcaswell@…149…> wrote:

Cool. I think it make sense to put this in to pyplot.py next to subplots

Tom

On Wed, Mar 18, 2015 at 1:14 PM Nicolas P. Rougier <Nicolas.Rougier@…922…> wrote:

Hi,

I’ve been experimenting with a simple idea for specifying plot layout in a rather intuitive way.

The idea is simply to “draw” your layout using strings.

Examples:

layout = [“AB”]

-> means two plots side by side with equal width

layout = [“AAAB”]

-> means two plots side by side A being 3 times wider than B

layout = [“AB”,

      "CC"]

-> means two plots (A & B) side by side and C below with full width

layout = [“AB”,

      "C "]

-> means two plots (A & B) side by side and C below A (same width)

etc… (have a look at sources)

I guess you cannot express every layout but it might work for most common ones.

If you think this might a good addition I can try to make a PR but I’m not sure where to insert it.

My idea would be to have a layout function such that you can write:

A,B,C = plt.layout([“AB”, “CC”], border=0.01)

A.plot(…)

B.plot(…)

C.plot(…)

Nicolas


Dive into the World of Parallel Programming The Go Parallel Website, sponsored

by Intel and developed in partnership with Slashdot Media, is your hub for all

things parallel software development, from weekly thought leadership blogs to

news, videos, case studies, tutorials and more. Take a look and join the

conversation now. http://goparallel.sourceforge.net/_______________________________________________

Matplotlib-devel mailing list

Matplotlib-devel@…1041…sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Dive into the World of Parallel Programming The Go Parallel Website, sponsored

by Intel and developed in partnership with Slashdot Media, is your hub for all

things parallel software development, from weekly thought leadership blogs to

news, videos, case studies, tutorials and more. Take a look and join the

conversation now. http://goparallel.sourceforge.net/


Matplotlib-devel mailing list

Matplotlib-devel@…1041…sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

I think you could specify colorbars using: ["AAAAAAAAAB"]
(B is a vertical colorbar, 1/10 of total width)

Nicolas

···

On 18 Mar 2015, at 18:52, Eric Firing <efiring@...229...> wrote:

On 2015/03/18 7:42 AM, Benjamin Root wrote:

A thought... could this perhaps be extended somehow to specify colorbars
in the layout?

A lower-case letter could indicate a colorbar-size Axes:

layout = ["ABc",
          "DE ",
          "ff "]

would put a vertical think axes to the right of B, and a double-wide
hoizontal one below D and E.

All of this seems like an alternative API for gridspec and axes_grid1.

I am concerned about ending up with too many ways to do things, but with
subtle differences.

How much control over spacing and sizing would be provided by kwargs or
other adjustment mechanisms? How would this relate to subplot_params?

Eric

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

two problems with that: 1) that really doesn’t make me want to use this approach, especially since I wouldn’t know what ratios I would want in the first place. 2) it can’t tell if I want a horizontal or vertical colorbar, whereas the lower-case notation could have some logic to auto-detect the user’s intent (e.g., all lower-case letters in the last row indicates horizontal bars). It would also allow us to return the plotting axes separate from the colorbar axes, which is how axes_grid1 does it, and it is very nice that way.

···

On Thu, Mar 19, 2015 at 6:31 AM, Nicolas P. Rougier <Nicolas.Rougier@…922…> wrote:

I think you could specify colorbars using: [“AAAAAAAAAB”]

(B is a vertical colorbar, 1/10 of total width)

Nicolas

On 18 Mar 2015, at 18:52, Eric Firing <efiring@…229…> wrote:

On 2015/03/18 7:42 AM, Benjamin Root wrote:

A thought… could this perhaps be extended somehow to specify colorbars

in the layout?

A lower-case letter could indicate a colorbar-size Axes:

layout = [“ABc”,

      "DE ",
      "ff "]

would put a vertical think axes to the right of B, and a double-wide

hoizontal one below D and E.

All of this seems like an alternative API for gridspec and axes_grid1.

I am concerned about ending up with too many ways to do things, but with

subtle differences.

How much control over spacing and sizing would be provided by kwargs or

other adjustment mechanisms? How would this relate to subplot_params?

Eric


Dive into the World of Parallel Programming The Go Parallel Website, sponsored

by Intel and developed in partnership with Slashdot Media, is your hub for all

things parallel software development, from weekly thought leadership blogs to

news, videos, case studies, tutorials and more. Take a look and join the

conversation now. http://goparallel.sourceforge.net/


Matplotlib-devel mailing list

Matplotlib-devel@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Dive into the World of Parallel Programming The Go Parallel Website, sponsored

by Intel and developed in partnership with Slashdot Media, is your hub for all

things parallel software development, from weekly thought leadership blogs to

news, videos, case studies, tutorials and more. Take a look and join the

conversation now. http://goparallel.sourceforge.net/


Matplotlib-devel mailing list

Matplotlib-devel@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Ok. I’ll wait for the MEP directory to start writing a proposal.

Here is a flavor of what I think could be done (to be seen using a fixed width font):

“AB”:
┌────────┐┌────────┐
│ A ││ B │
│ ││ │
│ ││ │
└────────┘└────────┘

“ABB”:
┌──────┐┌──────────┐
│ A ││ B │
│ ││ │
│ ││ │
└──────┘└──────────┘

“ABD”
“CCD”:
┌───────┐┌───────┐┌───────┐
│ A ││ B ││ D │
│ ││ ││ │
│ ││ ││ │
└───────┘└───────┘│ │
┌────────────────┐│ │
│ C ││ │
│ ││ │
└────────────────┘└───────┘

“AaBb”:
┌───────┐┌─┐┌───────┐┌─┐
│ A ││ ││ B ││ │
│ ││ ││ ││ │
│ ││ ││ ││ │
└───────┘└─┘└───────┘└─┘

" b "
“aABCc”:
┌───────┐
└───────┘
┌─┐┌───────┐┌───────┐┌───────┐┌─┐
│ ││ A ││ B ││ C ││ │
│ ││ ││ ││ ││ │
│ ││ ││ ││ ││ │
└─┘└───────┘└───────┘└───────┘└─┘

···

On 19 Mar 2015, at 15:34, Benjamin Root <ben.root@…553…> wrote:

two problems with that: 1) that really doesn’t make me want to use this approach, especially since I wouldn’t know what ratios I would want in the first place. 2) it can’t tell if I want a horizontal or vertical colorbar, whereas the lower-case notation could have some logic to auto-detect the user’s intent (e.g., all lower-case letters in the last row indicates horizontal bars). It would also allow us to return the plotting axes separate from the colorbar axes, which is how axes_grid1 does it, and it is very nice that way.

On Thu, Mar 19, 2015 at 6:31 AM, Nicolas P. Rougier <Nicolas.Rougier@…922…> wrote:

I think you could specify colorbars using: [“AAAAAAAAAB”]
(B is a vertical colorbar, 1/10 of total width)

Nicolas

On 18 Mar 2015, at 18:52, Eric Firing <efiring@…229…> wrote:

On 2015/03/18 7:42 AM, Benjamin Root wrote:

A thought… could this perhaps be extended somehow to specify colorbars
in the layout?

A lower-case letter could indicate a colorbar-size Axes:

layout = [“ABc”,
"DE ",
"ff "]

would put a vertical think axes to the right of B, and a double-wide
hoizontal one below D and E.

All of this seems like an alternative API for gridspec and axes_grid1.

I am concerned about ending up with too many ways to do things, but with
subtle differences.

How much control over spacing and sizing would be provided by kwargs or
other adjustment mechanisms? How would this relate to subplot_params?

Eric


Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now. http://goparallel.sourceforge.net/


Matplotlib-devel mailing list
Matplotlib-devel@…654…e.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now. http://goparallel.sourceforge.net/


Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

The MEP tree has been moved into the main repo https://github.com/matplotlib/matplotlib/tree/master/doc/devel/MEP

I am pretty excited about this feature.

I don’t remember if this got mentioned upthread, but this ties in with https://github.com/matplotlib/matplotlib/issues/1109 as a nice way to set up all of the constraints.

Tom

···

On Thu, Mar 19, 2015 at 1:10 PM Nicolas P. Rougier <Nicolas.Rougier@…922…> wrote:

Ok. I’ll wait for the MEP directory to start writing a proposal.

Here is a flavor of what I think could be done (to be seen using a fixed width font):

“AB”:
┌────────┐┌────────┐
│ A ││ B │
│ ││ │
│ ││ │
└────────┘└────────┘

“ABB”:
┌──────┐┌──────────┐
│ A ││ B │
│ ││ │
│ ││ │
└──────┘└──────────┘

“ABD”
“CCD”:
┌───────┐┌───────┐┌───────┐
│ A ││ B ││ D │
│ ││ ││ │
│ ││ ││ │
└───────┘└───────┘│ │
┌────────────────┐│ │
│ C ││ │
│ ││ │
└────────────────┘└───────┘

“AaBb”:
┌───────┐┌─┐┌───────┐┌─┐
│ A ││ ││ B ││ │
│ ││ ││ ││ │
│ ││ ││ ││ │
└───────┘└─┘└───────┘└─┘

" b "
“aABCc”:
┌───────┐
└───────┘
┌─┐┌───────┐┌───────┐┌───────┐┌─┐
│ ││ A ││ B ││ C ││ │
│ ││ ││ ││ ││ │
│ ││ ││ ││ ││ │
└─┘└───────┘└───────┘└───────┘└─┘

On 19 Mar 2015, at 15:34, Benjamin Root <ben.root@…553…> wrote:

two problems with that: 1) that really doesn’t make me want to use this approach, especially since I wouldn’t know what ratios I would want in the first place. 2) it can’t tell if I want a horizontal or vertical colorbar, whereas the lower-case notation could have some logic to auto-detect the user’s intent (e.g., all lower-case letters in the last row indicates horizontal bars). It would also allow us to return the plotting axes separate from the colorbar axes, which is how axes_grid1 does it, and it is very nice that way.

On Thu, Mar 19, 2015 at 6:31 AM, Nicolas P. Rougier <Nicolas.Rougier@…922…> wrote:

I think you could specify colorbars using: [“AAAAAAAAAB”]
(B is a vertical colorbar, 1/10 of total width)

Nicolas

On 18 Mar 2015, at 18:52, Eric Firing <efiring@…229…> wrote:

On 2015/03/18 7:42 AM, Benjamin Root wrote:

A thought… could this perhaps be extended somehow to specify colorbars
in the layout?

A lower-case letter could indicate a colorbar-size Axes:

layout = [“ABc”,
"DE ",
"ff "]

would put a vertical think axes to the right of B, and a double-wide
hoizontal one below D and E.

All of this seems like an alternative API for gridspec and axes_grid1.

I am concerned about ending up with too many ways to do things, but with
subtle differences.

How much control over spacing and sizing would be provided by kwargs or
other adjustment mechanisms? How would this relate to subplot_params?

Eric


Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now. http://goparallel.sourceforge.net/


Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now. http://goparallel.sourceforge.net/


Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Dive into the World of Parallel Programming The Go Parallel Website, sponsored

by Intel and developed in partnership with Slashdot Media, is your hub for all

things parallel software development, from weekly thought leadership blogs to

news, videos, case studies, tutorials and more. Take a look and join the

conversation now. http://goparallel.sourceforge.net/_______________________________________________

Matplotlib-devel mailing list

Matplotlib-devel@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Great ! Thanks for setting this up. One comment, it would be great to have a README.rst in the directory to have abstract of all MEPS at once in github (I can make a PR).

I've started working on MEP28 (https://github.com/rougier/matplotlib/blob/MEP28/doc/devel/MEP/MEP28.rst). I intend to make a PR once it is a bit more polished or should I make a PR right now to initiate the discussion on the PR ? (It is not clear to me if the preferred medium for discussion is the mailing list or the PR comments).

Nicolas

···

On 25 Apr 2015, at 23:04, Thomas Caswell <tcaswell@...149...> wrote:

The MEP tree has been moved into the main repo https://github.com/matplotlib/matplotlib/tree/master/doc/devel/MEP

I am pretty excited about this feature.

I don't remember if this got mentioned upthread, but this ties in with https://github.com/matplotlib/matplotlib/issues/1109 as a nice way to set up all of the constraints.

Tom

On Thu, Mar 19, 2015 at 1:10 PM Nicolas P. Rougier <Nicolas.Rougier@...983...2...> wrote:
Ok. I'll wait for the MEP directory to start writing a proposal.
Here is a flavor of what I think could be done (to be seen using a fixed width font):

"AB":
┌────────┐┌────────┐
│ A ││ B │
│ ││ │
│ ││ │
└────────┘└────────┘

"ABB":
┌──────┐┌──────────┐
│ A ││ B │
│ ││ │
│ ││ │
└──────┘└──────────┘

"ABD"
"CCD":
┌───────┐┌───────┐┌───────┐
│ A ││ B ││ D │
│ ││ ││ │
│ ││ ││ │
└───────┘└───────┘│ │
┌────────────────┐│ │
│ C ││ │
│ ││ │
└────────────────┘└───────┘

"AaBb":
┌───────┐┌─┐┌───────┐┌─┐
│ A ││ ││ B ││ │
│ ││ ││ ││ │
│ ││ ││ ││ │
└───────┘└─┘└───────┘└─┘

" b "
"aABCc":
            ┌───────┐
            └───────┘
┌─┐┌───────┐┌───────┐┌───────┐┌─┐
│ ││ A ││ B ││ C ││ │
│ ││ ││ ││ ││ │
│ ││ ││ ││ ││ │
└─┘└───────┘└───────┘└───────┘└─┘

On 19 Mar 2015, at 15:34, Benjamin Root <ben.root@...553...> wrote:

two problems with that: 1) that really doesn't make me want to use this approach, especially since I wouldn't know what ratios I would want in the first place. 2) it can't tell if I want a horizontal or vertical colorbar, whereas the lower-case notation could have some logic to auto-detect the user's intent (e.g., all lower-case letters in the last row indicates horizontal bars). It would also allow us to return the plotting axes separate from the colorbar axes, which is how axes_grid1 does it, and it is very nice that way.

On Thu, Mar 19, 2015 at 6:31 AM, Nicolas P. Rougier <Nicolas.Rougier@...552...922...> wrote:

I think you could specify colorbars using: ["AAAAAAAAAB"]
(B is a vertical colorbar, 1/10 of total width)

Nicolas

> On 18 Mar 2015, at 18:52, Eric Firing <efiring@...229...> wrote:
>
> On 2015/03/18 7:42 AM, Benjamin Root wrote:
>> A thought... could this perhaps be extended somehow to specify colorbars
>> in the layout?
>
> A lower-case letter could indicate a colorbar-size Axes:
>
> layout = ["ABc",
> "DE ",
> "ff "]
>
> would put a vertical think axes to the right of B, and a double-wide
> hoizontal one below D and E.
>
> All of this seems like an alternative API for gridspec and axes_grid1.
>
> I am concerned about ending up with too many ways to do things, but with
> subtle differences.
>
> How much control over spacing and sizing would be provided by kwargs or
> other adjustment mechanisms? How would this relate to subplot_params?
>
> Eric
>
>
>
> ------------------------------------------------------------------------------
> Dive into the World of Parallel Programming The Go Parallel Website, sponsored
> by Intel and developed in partnership with Slashdot Media, is your hub for all
> things parallel software development, from weekly thought leadership blogs to
> news, videos, case studies, tutorials and more. Take a look and join the
> conversation now. http://goparallel.sourceforge.net/
> _______________________________________________
> Matplotlib-devel mailing list
> Matplotlib-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now. http://goparallel.sourceforge.net/_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

I am in favor of doing in in PR comments so we can to line comments.

···

On Sun, Apr 26, 2015 at 3:47 AM Nicolas P. Rougier <Nicolas.Rougier@…922…> wrote:

Great ! Thanks for setting this up. One comment, it would be great to have a README.rst in the directory to have abstract of all MEPS at once in github (I can make a PR).

I’ve started working on MEP28 (https://github.com/rougier/matplotlib/blob/MEP28/doc/devel/MEP/MEP28.rst). I intend to make a PR once it is a bit more polished or should I make a PR right now to initiate the discussion on the PR ? (It is not clear to me if the preferred medium for discussion is the mailing list or the PR comments).

Nicolas

On 25 Apr 2015, at 23:04, Thomas Caswell <tcaswell@…149…> wrote:

The MEP tree has been moved into the main repo https://github.com/matplotlib/matplotlib/tree/master/doc/devel/MEP

I am pretty excited about this feature.

I don’t remember if this got mentioned upthread, but this ties in with https://github.com/matplotlib/matplotlib/issues/1109 as a nice way to set up all of the constraints.

Tom

On Thu, Mar 19, 2015 at 1:10 PM Nicolas P. Rougier <Nicolas.Rougier@…922…> wrote:

Ok. I’ll wait for the MEP directory to start writing a proposal.

Here is a flavor of what I think could be done (to be seen using a fixed width font):

“AB”:

┌────────┐┌────────┐

│ A ││ B │

│ ││ │

│ ││ │

└────────┘└────────┘

“ABB”:

┌──────┐┌──────────┐

│ A ││ B │

│ ││ │

│ ││ │

└──────┘└──────────┘

“ABD”

“CCD”:

┌───────┐┌───────┐┌───────┐

│ A ││ B ││ D │

│ ││ ││ │

│ ││ ││ │

└───────┘└───────┘│ │

┌────────────────┐│ │

│ C ││ │

│ ││ │

└────────────────┘└───────┘

“AaBb”:

┌───────┐┌─┐┌───────┐┌─┐

│ A ││ ││ B ││ │

│ ││ ││ ││ │

│ ││ ││ ││ │

└───────┘└─┘└───────┘└─┘

" b "

“aABCc”:

        ┌───────┐
        └───────┘

┌─┐┌───────┐┌───────┐┌───────┐┌─┐

│ ││ A ││ B ││ C ││ │

│ ││ ││ ││ ││ │

│ ││ ││ ││ ││ │

└─┘└───────┘└───────┘└───────┘└─┘

On 19 Mar 2015, at 15:34, Benjamin Root <ben.root@…553…> wrote:

two problems with that: 1) that really doesn’t make me want to use this approach, especially since I wouldn’t know what ratios I would want in the first place. 2) it can’t tell if I want a horizontal or vertical colorbar, whereas the lower-case notation could have some logic to auto-detect the user’s intent (e.g., all lower-case letters in the last row indicates horizontal bars). It would also allow us to return the plotting axes separate from the colorbar axes, which is how axes_grid1 does it, and it is very nice that way.

On Thu, Mar 19, 2015 at 6:31 AM, Nicolas P. Rougier <Nicolas.Rougier@…982…> wrote:

I think you could specify colorbars using: [“AAAAAAAAAB”]

(B is a vertical colorbar, 1/10 of total width)

Nicolas

On 18 Mar 2015, at 18:52, Eric Firing <efiring@…229…> wrote:

On 2015/03/18 7:42 AM, Benjamin Root wrote:

A thought… could this perhaps be extended somehow to specify colorbars

in the layout?

A lower-case letter could indicate a colorbar-size Axes:

layout = [“ABc”,

      "DE ",
      "ff "]

would put a vertical think axes to the right of B, and a double-wide

hoizontal one below D and E.

All of this seems like an alternative API for gridspec and axes_grid1.

I am concerned about ending up with too many ways to do things, but with

subtle differences.

How much control over spacing and sizing would be provided by kwargs or

other adjustment mechanisms? How would this relate to subplot_params?

Eric


Dive into the World of Parallel Programming The Go Parallel Website, sponsored

by Intel and developed in partnership with Slashdot Media, is your hub for all

things parallel software development, from weekly thought leadership blogs to

news, videos, case studies, tutorials and more. Take a look and join the

conversation now. http://goparallel.sourceforge.net/


Matplotlib-devel mailing list

Matplotlib-devel@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Dive into the World of Parallel Programming The Go Parallel Website, sponsored

by Intel and developed in partnership with Slashdot Media, is your hub for all

things parallel software development, from weekly thought leadership blogs to

news, videos, case studies, tutorials and more. Take a look and join the

conversation now. http://goparallel.sourceforge.net/


Matplotlib-devel mailing list

Matplotlib-devel@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Dive into the World of Parallel Programming The Go Parallel Website, sponsored

by Intel and developed in partnership with Slashdot Media, is your hub for all

things parallel software development, from weekly thought leadership blogs to

news, videos, case studies, tutorials and more. Take a look and join the

conversation now. http://goparallel.sourceforge.net/_______________________________________________

Matplotlib-devel mailing list

Matplotlib-devel@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel