MathGroup Archive 2008

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

Search the Archive

Re: Tilted decimals on the x-axis to avoid overlapping

  • To: mathgroup at smc.vnet.net
  • Subject: [mg87522] Re: Tilted decimals on the x-axis to avoid overlapping
  • From: "David Park" <djmpark at comcast.net>
  • Date: Sat, 12 Apr 2008 06:58:09 -0400 (EDT)
  • References: <ftncsa$8c4$1@smc.vnet.net>

Here is one solution using the CustomTicks function from the Presentations 
package. We also need to use NumberForm to extend the display precision, 
otherwise all the numbers will be the same.

Needs["Presentations`Master`"]

With[
 {xticks = CustomTicks[Identity, {123.45678, 123.45679, .000002, 5},
    CTNumberFunction ->
     (Graphics[
        Text[Style[NumberForm[#, {9, 6}], 12], {0, 0}, {-1, 0}, {0,
          1}],
        AspectRatio -> 6,
        ImageSize -> {10, 60}] &)],
  yticks = CustomTicks[Identity, {123.45678, 123.45679, .000002, 5},
    CTNumberFunction -> (NumberForm[#, {9, 6}] &)]},
 Draw2D[
  {Draw[x, {x, 123.45678, 123.45679}]},
  AspectRatio -> 1/GoldenRatio,
  Frame -> True,
  FrameTicks -> {{yticks, Automatic}, {xticks,
     xticks // NoTickLabels}},
  FrameLabel -> {"x", "y"},
  BaseStyle -> {FontSize -> 12}]
 ]

However, that rather violates the principle: "Maximize the information, 
minimize the ink." 123.45678 is repeated 12 times! In technical publication 
the tick labels themselves are usually simplified and the functional 
relation between the tick values and the quantity is put in the frame 
labels. Here the tick labels go from 0 to 1 on the x and y axes.

With[
 {ticks = CustomTicks[#/10^5 + 123.45678 &, {0, 1, .2, 5}]},
 Draw2D[
  {Draw[x, {x, 123.45678, 123.45679}]},
  AspectRatio -> 1/GoldenRatio,
  Frame -> True,
  FrameTicks -> {{ticks, ticks // NoTickLabels}, {ticks,
     ticks // NoTickLabels}},
  FrameLabel -> {"(x-123.45678)\!\(\*SuperscriptBox[\"10\", \"5\"]\)",
     "(y-123.45678)\!\(\*SuperscriptBox[\"10\", \"5\"]\)"},
  BaseStyle -> {FontSize -> 12}]
 ]

-- 
David Park
djmpark at comcast.net
http://home.comcast.net/~djmpark/


"zosi" <zosi at to.infn.it> wrote in message news:ftncsa$8c4$1 at smc.vnet.net...
> Dear Mathgroup,
>
> How can I see all the decimals on the x-axis **and** avoid overlapping ?
>
> Trivial example: Plot[x, {x, 123.45678, 123.45679}]
>
> I would like to rotate clockwise  by an angle alpha (e.g.,Pi/6, or
> Pi/2+Pi/6)
> the values on the x-axis and translate them in order to see the starting
> point,
> i.e., the "1"  of  123.45678 should be near to the relevant tick.
>
> Note: I cannot use the usual Options to reduce the **size** of the
> figures or
> increase the size of the image.
>
> Any hint ?
> Many thanks.
>
> PS  The nice suggestion by Ruskeepaa (pag.  271) seems not applicable in
> this case.
>
> Gianfranco Zosi
> Dip. Fisica Generale
> Universita di Torino
> 



  • Prev by Date: Re: Ranks for an array of triplets
  • Next by Date: Re: Problem for using "Epilog" to plot legend
  • Previous by thread: Re: Tilted decimals on the x-axis to avoid overlapping
  • Next by thread: Precedence of the \\ and ; operators and RowBoxes generated by the front end