MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: question on Plot and Show plus Axis Labels:

  • To: mathgroup at
  • Subject: [mg72564] Re: question on Plot and Show plus Axis Labels:
  • From: Bill Rowe <readnewsciv at>
  • Date: Mon, 8 Jan 2007 05:24:55 -0500 (EST)

On 1/6/07 at 11:43 PM, gopinathv at (Gopinath Venkatesan) wrote:

>Objective: to plot several graphs in a single plot as well as use
>labels for axis, and different colors or dashing and other styles
>for individual plots to distinguish. What I want to know is what are
>the graphic format commands that would work with the command "Show"
>(because I tried RotateLabel and its not working with Show). Or
>please read the below for more details.

>I have y0, y, y1, and y2 as a list of values, and first I tried to
>plot all these list values using Plot (by default Plot function
>increments the x by fractions but in my case it is integer, like
>x={0,1,..10}; It didn't work. So I tried with ListPlot.

>p0 = ListPlot[Thread[y0, x], PlotJoined -> True]
>p = ListPlot[Thread[y, x], PlotJoined -> True]
>p1 = ListPlot[Thread[y1, x], PlotJoined -> True]
>p2 = ListPlot[Thread[y2, x], PlotJoined -> True]
>Show[p0, p, p1, p2, AxesLabel -> {"x-value", "y-value"}, RotateLabel -> True]

Hmm... The usage of Thread above doesn't look right to me. I 
assume you want to create a list of {x,y} pairs to supply to 
ListPlot. If so, I would use Thread[{x,y}] instead of what 
you've done above. And in the particular case where x takes on 
the values {1,2,3...} it suffices to do simply ListPlot[y] 
rather than ListPlot[Thread[{x,y}]]

>And I used Show to plot all of them in a plot and tried to label the

>1. Problem is RotateLabel is not working with Show.

>2. If I use a longer text label for axes (without RotateLabel option),
>the plot size gets smaller and text is as big as plots. Some scaling
>operation need to be done. no clue how to do this. Or should I change
>the font size of the text. I prefer not to change the text font size
>and keep the plot unscaled.

I would use the following approach

First, generating some data

y = Table[Random[], {10}];
y1 = Sort@Table[Random[], {10}];
y2 = Reverse@Sort@Table[Random[], {10}];

then to plot the data

     Block[{$DisplayFunction = Identity},
       ListPlot[#, PlotJoined -> True] & /@ {y, y1, y2}],
       FrameLabel -> {"x-value", "y-value"}, Axes -> None, Frame 
-> {True, True,
          False, False}];

Here, I've used FrameLabels in place of AxesLabels and replaced 
the axes with a frame constructed to look like a set of axes.
To reply via email subtract one hundred and four

  • Prev by Date: RE: question on Plot and Show plus Axis Labels:
  • Next by Date: Re: speed of multiplying polynomials
  • Previous by thread: RE: question on Plot and Show plus Axis Labels:
  • Next by thread: Re: question on Plot and Show plus Axis Labels: