Re: Plot Axis Unit Conversions
- To: mathgroup at smc.vnet.net
- Subject: [mg98880] Re: Plot Axis Unit Conversions
- From: "Sjoerd C. de Vries" <sjoerd.c.devries at gmail.com>
- Date: Mon, 20 Apr 2009 19:13:14 -0400 (EDT)
- References: <gsh17u$or$1@smc.vnet.net>
As a follow-up to my previous post: The concept is easy to generalize to other unit scale conversions using the Units package. Needs["Units`"] convertedScale[oldUnit_, newUnit_][min_, max_] := Apply[{#1/(Convert[oldUnit, newUnit]/newUnit ), ##2} &, AbsoluteOptions[ Plot[x, {x, Convert[oldUnit, newUnit]/newUnit min, Convert[oldUnit, newUnit]/newUnit max}, Frame -> True, FrameTicks -> {Automatic, None, None, None}], FrameTicks][[1, 2, 1]], 1] Now you can go wild: Plot[0.25 Sin[x], {x, 0, 100}, Frame -> True, FrameTicks -> {convertedScale[Meter, LightYear], convertedScale[Meter, Centi Meter], convertedScale[Meter, Mile], convertedScale[Meter, Yard]}, FrameLabel -> {"x-axis (in LightYear)", "y-axis (in cm)", "x-axis (in Miles)", "y-axis (in yards)"}] Works for every unit listed in Units/guide/UnitsPackage except temperatures. For these you have to replace Convert for ConvertTemperature. Cheers -- Sjoerd On Apr 20, 7:29 am, unknowno... at gmail.com wrote: > Hello everyone, > > I am working on a notebook involving a flutter analysis of a flat > plate in a wind tunnel. All of the equations involve metric units, but > most of the physical measurements of size I have are in inches. In > order to maintain a consistent system of units, I would like to plot > the axis units in metric and English units. Specifically, I have a > plot for the critical flutter speed in units of m/s versus the chord > length in meters, and I want to overlay an x-axis, possibly on the > top, that will display the equivalent length in inches (i.e, > xinches=x*10000/254) without messing up the graph. At the very least, > I would like to display it in centimeters instead of meters for better > clarity. I do NOT want to recalculate the function using inches - just > display the conversion. It would be nice if I could display it in both > inches and centimeters at the same time. > > This is an absolute breeze to do in another system, but I haven't been > able to find anything specifically dealing with scaling of axes for > Mathematica. Anyone have any ideas? > > Thanks very kindly!