same result, as it will overwrite label ‘line 1’ with label ‘line 2’
How to deal with this, without manually positioning legends and if possible including all annotated plot lines in one legend?
*twinx* creates a new axes. Thus there are TWO axes, and you need to
do some manual adjustment. I believe that the solution suggested by
Stephen George is essentially the best way, although you may try to
tweak things using the Axes.get_legend_handles_labels method ( http://matplotlib.sourceforge.net/users/legend_guide.html#what-to-be-displayed
).
Alternatively, you can try the axes_grid1 toolkit which automatically
merges legends for you. Check out the example below.
Thanks Stephen, but I’m not sure if I follow correctly: I used twinx() as I wanted “line 1” to be referenced on left Y-axis and “line 2” on right Y-axis. In your example I can’t see what’s the purpose of twinx() command? - It presents left Y-axis as default 0 to 1 values not referenced to any plot.
···
On Wed, Sep 28, 2011 at 9:14 AM, Stephen George <steve_geo@…887…> wrote:
On Wed, Sep 28, 2011 at 4:01 PM, Jae-Joon Lee <lee.j.joon@...287...> wrote:
On Wed, Sep 28, 2011 at 3:32 PM, Klonuo Umom <klonuo@...287...> wrote:
> How to deal with this, without manually positioning legends and if possible
> including all annotated plot lines in one legend?
*twinx* creates a new axes. Thus there are TWO axes, and you need to
do some manual adjustment. I believe that the solution suggested by
Stephen George is essentially the best way, although you may try to
tweak things using the Axes.get_legend_handles_labels method ( http://matplotlib.sourceforge.net/users/legend_guide.html#what-to-be-displayed
).
Alternatively, you can try the axes_grid1 toolkit which automatically
merges legends for you. Check out the example below.