Open
Description
We should have an overview (possibly in the tutorials) which methods create Axes and when to use which.
This could contain the flow-chart blow plus additional descriptions.
- I've not taken into account
subgridspec
andaxes_grid1
. - Am I missing some methods?
- the diagram could be embedded using
.. graphviz
. However, while it renders with http://graphviz.it/ it currently does not with sphinx (issueing some errors). - The styling could still be improved (add links, font/color, use a HTML node instead of a record, ...)
digraph {
node[shape=diamond]
q_fullsize; q_simple_grid; q_complex_grid; q_inset; q_twin;
node[shape=record]
full_size;
q_fullsize [label="full size?"]
full_size [label="{plt.subplot()|plt.subplots()} | {Figure.add_subplot()|Figure.subplots()}"]
q_simple_grid [label="simple grid?"]
simple_grid [label="{plt.subplot(n, m, k) | plt.subplots(n, m)}| {Figure.add_subplot(n, m, k) | Figure.subplots(n, m)}"]
q_complex_grid [label="complex grid?"]
complex_grid [label="{plt.subplot2grid() | plt.subplot(subplotspec) | plt.subplots(gridspec_kw) | } | { | Figure.subplot(subplotspec) | Figure.subplots(gridspec_kw) | GridSpec.subplots()}"]
q_inset [label="inset?"]
inset [label="Axes.inset_axes()"]
q_twin [label="twin?"]
twin [label="{plt.twinx() | plt.twiny()} | {Axes.twinx() | Axes.twiny()}"]
axes [label="{plt.axes() | Figure.add_axes()}"]
q_fullsize -> q_simple_grid [ label = "No" ];
q_simple_grid -> q_complex_grid [label = "No" ];
q_fullsize -> full_size [ label = "Yes" ];
q_simple_grid -> simple_grid[ label = "Yes" ];
q_complex_grid -> complex_grid [label = "Yes"];
q_complex_grid -> q_inset [label = "No"];
q_inset -> inset[label="Yes"];
q_inset -> q_twin [label="No"]
q_twin -> twin[label="Yes"]
q_twin -> axes[label="No"]
{
rank=same;
q_fullsize full_size
}
{
rank=same;
q_simple_grid simple_grid
}
{
rank=same;
q_complex_grid complex_grid
}
{
rank=same;
q_inset inset
}
{
rank=same;
q_twin twin
}
}