Re: Plot & BoldPlot
- To: mathgroup at smc.vnet.net
- Subject: [mg17067] Re: Plot & BoldPlot
- From: Bernd Brandt <bernd at bio.vu.nl>
- Date: Wed, 14 Apr 1999 02:12:09 -0400
- Organization: VU Biology, Amsterdam, The Netherlands
- References: <7ehktv$o09@smc.vnet.net> <7es3i1$ccj@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi,
The example code of Allan and Ted work fine. Thanks Allan and Ted!!
Unfortunately Mathematica print a decimal point (".") after the integer
tick labels.
1 becomes 1. 2 becomes 2. etc (already in FullOptions[gr, Ticks]).
Does anyone know why Mathematica gives a different label in
FullOption[gr,Ticks] than it actually uses when drawing "gr" ??
To prevent the printing of the decimal points after integer valuesI
changed "lab" in the code below into
If[MatchQ[Rationalize[lab], Rational[_,_]], lab, Rationalize[lab] ]
(Seems strange to me having to do this.)
Below the code of Ted with changed including the above mentioned change.
regards,
Bernd
=======================================================================
enlargeTicks[grObj_Graphics]:=
Module[{fulopts, tcklst},
fulopts = FullOptions[grObj];
tcklst = Ticks/.fulopts /.
{loc_,lab_,len:{_,_},{a___,AbsoluteThickness[_],b___}}:>
{loc, If[MatchQ[Rationalize[lab], Rational[_,_]], lab ,
Rationalize[lab] ],
1.5*len,{a,AbsoluteThickness[2],c}};
grObj/.Graphics[prims_,(opts__)?OptionQ]:>
Graphics[prims,Ticks->tcklst,opts]
]
BoldPlot[f_,PlotRange_,opts___?OptionQ]:=
Module[{gr,df},
df=DisplayFunction/.Flatten[{opts,Options[Plot]}];
gr=Plot[f,PlotRange,
DisplayFunction->Identity, opts,
PlotStyle->{AbsoluteThickness[2]},
AxesStyle->{AbsoluteThickness[2]},
TextStyle->{FontWeight->"Bold"}
];
Show[enlargeTicks[gr],DisplayFunction->df]
]
gr=BoldPlot[Sin[x],{x,0,4 Pi}];