RE: Why aboluteoptions doesn't work here?
- To: mathgroup at smc.vnet.net
- Subject: [mg49442] RE: [mg49424] Why aboluteoptions doesn't work here?
- From: "Wolf, Hartmut" <Hartmut.Wolf at t-systems.com>
- Date: Tue, 20 Jul 2004 07:53:36 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
>-----Original Message----- >From: Daohua Song [mailto:ds2081 at columbia.edu] To: mathgroup at smc.vnet.net >Sent: Monday, July 19, 2004 1:46 PM >To: mathgroup at smc.vnet.net >Subject: [mg49442] [mg49424] Why aboluteoptions doesn't work here? > > >Dear Group, > p1=Plot[x,{x,0,2}]; > p2=Plot[x+1,{x,0,2}]; > p3=Plot[x+2,{x,0,2}]; > p4=Plot[x+3,{x,0,2}]; > kk=Show[p1,p2,p3,p4,Frame?True]; > Show[kk,FrameTicks?(Ticks/.AbsoluteOptions[kk]),Frame?True]; > (*i wanna see ticks on all 4 axes*) > > You will get a graph without ticks! Why this happens after i use >"Show"? How to fix it? (I have to use show to put complex graphs >together) > Thanks >Daohua > > If you look at your Graphics object In[7]:= Ticks /. AbsoluteOptions[kk] Out[7]= {{}, {}} you see there are no Ticks, yet FrameTicks. They are there at all four sides, yet being different! Compare bottom and top: In[9]:= Short[(FrameTicks /. AbsoluteOptions[kk, FrameTicks])[[1]], 5] Out[9]//Short= {{0., 0., {0.00625, 0.}, {GrayLevel[0.], AbsoluteThickness[0.25]}}, \[LeftSkeleton]19\[RightSkeleton], {1.9, "", {0.00375, 0.}, {GrayLevel[0.], AbsoluteThickness[0.125]}}} In[10]:= Short[(FrameTicks /. AbsoluteOptions[kk, FrameTicks])[[3]], 5] Out[10]//Short= {{0., "", {0.00625, 0.}, {GrayLevel[0.], AbsoluteThickness[0.25]}}, \[LeftSkeleton]19\[RightSkeleton], {1.9, "", {0.00375, 0.}, {GrayLevel[0.], AbsoluteThickness[0.125]}}} You see there are ticks, yet no tick labels at top! (Similar for left and right.) If you want tick labels at each side do e.g.: Show[kk, FrameTicks -> (FrameTicks /. AbsoluteOptions[kk])[[{1, 2, 1, 2}]], Frame -> True]; -- Hartmut Wolf