MathGroup Archive 2003

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

Search the Archive

Trouble customizing 2D plots in Mathematica

  • To: mathgroup at smc.vnet.net
  • Subject: [mg42121] Trouble customizing 2D plots in Mathematica
  • From: Kevin Gross <kc144 at woh.rr.com>
  • Date: Thu, 19 Jun 2003 04:00:23 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

Hi all,

While I'm a devout Mathematica user, I do like the way some other 
plotting packages handle 2D plots with large y values.  Specifically, 
some packages will factor out a common value, e.g., 10^3, from the 
y-axis labels and displays that common value above the y-axis.  Below 
is my attempt at mimicking this behavior in Mathematica:

(*Standard Mathematica plot with specific PlotRange*)
p1 = Plot[x^2, {x, 0, 100}, Frame -> True, PlotRange -> {0, 6000}];

(*Attempt at producing a nicer-looking plot*)
p2 = Show[p1, FrameTicks -> {Automatic, {{0, 0}, {2000, 2}, {4000, 4}, 
{6000, 6}, {8000, 8}, {10000, 10}}, Automatic, Automatic}, 
DisplayFunction -> Identity];
p3 = Graphics[Text["*\!\(10\^3\)", Scaled[{-0.05, 1.04}], {-1.5, 0}]];
Show[p2, p3, PlotRange -> All, DisplayFunction -> $DisplayFunction];

There are a couple of problems with my approach:

1.) The text box only becomes visible when I use PlotRange->All.  
However, in some plots, I wish to specify a PlotRange different from 
All and still have the text box visible.  For example:

(*Must use PlotRange -> All*)
Show[p2, p3, DisplayFunction -> $DisplayFunction];

2.) The coordinates and offsets I've chosen, namely Scaled[{-0.05, 
1.04}], {-1.5, 0}, need to be changed if the image size is changed.  
I'd like to be able to resize the graphic without messing up the 
alignment of the text box relative to the y-axis.  These coordinates 
and offsets are also dependent on the default text size, but this 
probably isn't too much of a problem.  For example:

(*Sensetive to resizing*)
Show[p2, p3, ImageSize -> 8*72, PlotRange -> All, DisplayFunction -> 
$DisplayFunction];

Can anyone offer a suggestion on how to accomplish my objective while 
avoiding these shortcomings?  Or has someone already invented this 
wheel?

Many thanks,

Kevin
--
Kevin Gross
Doctoral Student
Air Force Institute of Technology
Wright Patterson AFB, OH


  • Prev by Date: Re: Re: ack! simple partitioning problem making my head swim....
  • Next by Date: Re: RE: symbols to separate characters in a variable
  • Previous by thread: better version of Maxwell to Helmholtz
  • Next by thread: Re: Trouble customizing 2D plots in Mathematica