MathGroup Archive 2007

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

Search the Archive

framed plots with two y axes scales

  • To: mathgroup at smc.vnet.net
  • Subject: [mg79955] framed plots with two y axes scales
  • From: "Chris Chiasson" <chris at chiasson.name>
  • Date: Thu, 9 Aug 2007 05:28:21 -0400 (EDT)

In the old version of Mathematica, I used David Park's Draw Graphics
package to obtain graphs with two y axes scales. I was successful in
making these graphs without the package in the new version, but my
technique involves a lot of code. Is there a cleaner way, such as
being able to specify a scaling factor between both sides?

Simple example:
Height of a ball thrown straight up in a gravitational field with some
initial velocity and no drag:

plotExpr=h@t/.DSolve[m h''@t==-m g&&h'@0==v0&&h@0==0,h,t]/.{g->9.80665,v0->10}
labelRightAxisTicks=Function[gr,With[{frameTicks=FrameTicks/.AbsoluteOptions[gr,FrameTicks],cf=3.2808},Show[gr,FrameTicks->Append[Drop[frameTicks,-1],{#1,If[#2=!="",SetPrecision[#1
cf,3],""],##3}&@@@frameTicks[[2]]]]]]
Plot[Evaluate@plotExpr,{t,0,2},Frame->True,FrameLabel->{"t (s)","h
(m)",None,"h (ft)"}]
labelRightAxisTicks@%

Also, I suspect a subtle error in my code because the tick marks are
not the size they should be (relative to the plot area).


-- 
http://chris.chiasson.name/


  • Prev by Date: Re: Progess bar in Mathematica
  • Next by Date: Re: Can model parameters be global?
  • Previous by thread: Re: ListPlot problem
  • Next by thread: Re: framed plots with two y axes scales