Re: color-bar legend for the LisContourPlot
- To: mathgroup at smc.vnet.net
- Subject: [mg123661] Re: color-bar legend for the LisContourPlot
- From: Dan <dflatin at rcn.com>
- Date: Thu, 15 Dec 2011 04:51:58 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <jbspea$3mj$1@smc.vnet.net> <jc9vqo$a0a$1@smc.vnet.net>
On Dec 14, 6:03 am, Dan <dfla... at rcn.com> wrote:
> On Dec 9, 5:55 am, "Karamiarokhloo, M.P. (Mehdipasha)"
>
> <M.P.Karamiarokh... at uu.nl> wrote:
> > Dear All,
>
> > I am using Mathematica 7 and have difficulties to plot the ListContourPlot
> > of ocean data with a neat color bar (legend).
> > For example if I have a temperature field range between {-2,30}, and I use
> > the ColorFunction Rainbow,
> > I cannot include a color-bar which has the same number of contours as the contourplot, and it does not show the related numbers for each color-shade.
> > The ShowLegend function of Mathematica is very primitive.
> > Has any body any suggestion?
>
> > Thanks you.
> > P.Karami
>
> I like using Grid for this, and in general for constructing compound
> plots. For the legend, I use a trick I learned from David Park in this
> forum. Just make another contour plot. This gives you great control
> over choice and labeling of the contours. Here is a simple example
> where I have identified the various layout elements explicitly.
>
> With[{
> zmin=-2,zmax=2,delz=0.5,datasize={10,10},
> plotW=300,plotH=300,legendW,
> ticklblW=30,ticklblH,grout=2,
> colorset="ArmyColors"},
>
> Module[{data,contours},
> contours=Range[zmin,zmax,delz];
> data=RandomReal[{zmin,zmax},datasize];
>
> Grid[{{
> ListContourPlot[data,InterpolationOrder->3,Contours->contours,
> ImagePadding->{{ticklblW+grout,grout},{ticklblH+grout,grout}},
> ImageSize->{plotW+ticklblW+2grout,plotH+ticklblH+2grout},
> AspectRatio->plotH/plotW,
> ColorFunction->colorset],
> ContourPlot[y,{x,0,1},{y,zmin,zmax},Contours->contours,
> ImagePadding->{{grout,ticklblW+grout},{ticklblH+grout,grout}},
> ImageSize->{legendW+ticklblW+2grout,plotH+ticklblH+2grout},
> AspectRatio->plotH/legendW,
> FrameTicks->{{None,contours},{None,None}},
> ColorFunction->colorset]
> }}]
> ]
> ]
>
> -- Dan
Somehow some specific assignments went missing in this post. Since I
copied and pasted into the window I don't know how that could have
happened, but use:
legendW
ticklblH
to get the figure as I intended.
-- Dan