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/