Re: IDL New Graphics Axis function: bug or feature? [message #81827 is a reply to message #81757] |
Wed, 24 October 2012 22:51   |
lecacheux.alain
Messages: 325 Registered: January 2008
|
Senior Member |
|
|
Le mercredi 24 octobre 2012 18:31:29 UTC+2, Manodeep Sinha a écrit :
> On Wednesday, October 24, 2012 2:11:23 AM UTC-5, alx wrote:
>
>> Le mardi 23 octobre 2012 19:32:22 UTC+2, Mark Piper a écrit :
>
>>
>
>>> On Monday, October 22, 2012 6:33:00 PM UTC-6, Manodeep Sinha wrote:
>
>>
>
>>>
>
>>
>
>>>>
>
>>
>
>>>
>
>>
>
>>>> I was trying to add an alternate X-axis to a new graphics plot when I could not place this new X-axis on the plot no matter how I tried. It turns out that the original data co-ordinate was established with /YLOG and the AXIS function wanted the location to be set in alog10(yrange[1]).
>
>>
>
>>>
>
>>
>
>>>>
>
>>
>
>>>
>
>>
>
>>>
>
>>
>
>>>
>
>>
>
>>> Hi Manodeep,
>
>>
>
>>>
>
>>
>
>>>
>
>>
>
>>>
>
>>
>
>>> I think this is a bug. Your statement:
>
>>
>
>>>
>
>>
>
>>>
>
>>
>
>>>
>
>>
>
>>> a0 = axis('X',location=[0.0,ymax],tickdir=1)
>
>>
>
>>>
>
>>
>
>>>
>
>>
>
>>>
>
>>
>
>>> should place an x-axis at y=100. I'll write it up.
>
>>
>
>>>
>
>>
>
>>>
>
>>
>
>>>
>
>>
>
>>> mp
>
>>
>
>>
>
>>
>
>> I had the feeling, by looking at the AXIS documentation ("When drawing an X axis, the x coordinate is ignored, etc..."), that the coordinate had to be ignored too in the statement. So that:
>
>>
>
>> a0 = axis('X',location=[ymax],tickdir=1)
>
>>
>
>> seems to work, as well as:
>
>>
>
>> a1 = axis('Y',location=[xmax],tickdir=1)
>
>>
>
>> in case of Y being log-scaled.
>
>>
>
>> If true, that is definitely a bug, since the starting coordinate of the new axis remains constrained along a direction.
>
>>
>
>>
>
>>
>
>> alain.
>
>
>
> Huh. I actually get an error 'LOCATION must have 2 or 3 elements' when I try to run those two lines. You are right that orientation of the new axis is constrained to be parallel to the currently established co-ordinate system.
By using IDL V8.2.1 and Win7, on "pl=plot(/TEST)", I find that
"ax=axis('X',LOCATION=[0.2,0.2])", as well as "ax=axis('X',LOCATION=[0.2])", produces an horizontal axis located at the right Y, but wrongly starting at X=0.
alx.
|
|
|