Re: PlotLegend and Show
- To: mathgroup at smc.vnet.net
- Subject: [mg117932] Re: PlotLegend and Show
- From: Chris Degnen <degnen at cwgsy.net>
- Date: Tue, 5 Apr 2011 06:41:25 -0400 (EDT)
- References: <inc6k2$tb$1@smc.vnet.net>
On Apr 4, 11:30 am, Robert McHugh <r62... at gmail.com> wrote:
> Have made a plot which uses PlotLegend. Would like to combine this plot
> with another plot. Tried using Show[] to do this, but the results were not
> not what I expected. In the combined plot, the second plot doesn't have the
> same scale as the first plot. When I remove the PlotLegend option from the
> first plot and use show to combine the two plots all is well. Below is an
> example. (Though in the case I would like to run, there are about 10
> different graphs in the first plot, so making the legend by hand would be
> time consuming.)
>
> Recommendations? Thanks.
>
> (* this isn't what I want *)
> p1 = Plot[{Sin[x], Cos[x]}, {x, 0, 2 Pi}, PlotLegend -> {"sine", "cosine"}]
> p2 = Plot[{Sin[x + \[Pi]], Cos[x + \[Pi]]}, {x, 0, 2 Pi}]
> Show[p1, p2]
>
> (* remove the legend and all is well *)
> p1 = Plot[{Sin[x], Cos[x]}, {x, 0, 2 Pi} ]
> p2 = Plot[{Sin[x + \[Pi]], Cos[x + \[Pi]]}, {x, 0, 2 Pi}]
> Show[p1, p2]
PlotLegend is a Plot option only, so you need to use ShowLegend:
Needs["PlotLegends`"]
p1 = Plot[{Sin[x], Cos[x]}, {x, 0, 2 Pi}]
p2 = Plot[{Sin[x + \[Pi]], Cos[x + \[Pi]]}, {x, 0, 2 Pi}]
ShowLegend[
Show[p1, p2], {{{Graphics[{Hue[0.67, 0.6, 0.6],
Line[{{0, 0}, {1, 0}}]}],
"sine"}, {Graphics[{Hue[0.9, 0.6, 0.6], Line[{{0, 0}, {1, 0}}]}],
"cosine"}}}]