octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: bounds on position for text()


From: Michael D Godfrey
Subject: Re: bounds on position for text()
Date: Sun, 06 Feb 2011 15:35:35 -0800
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101209 Fedora/3.1.7-0.35.b3pre.fc14 Thunderbird/3.1.7

On 02/06/2011 03:21 PM, Konstantinos Poulios wrote:
On Mon, Feb 7, 2011 at 12:16 AM, Michael D Godfrey
<address@hidden> wrote:
> On 02/06/2011 02:49 PM, logari81 wrote:
>
> On Sun, 2011-02-06 at 17:21 -0500, Ben Abbott wrote:
>
>> On Feb 6, 2011, at 4:02 PM, Michael D Godfrey wrote:
>>
>
>> > A short while ago I created a bug report
>> > (32311) which pointed out the fact that
>> > text(x,y,"xxx') only works for x,y within the
>> > axes. Matlab and legend allow writing the
>> > string anywhere in the window.
>> >
>> > Since you just fixed legend, any chance
>> > you could look at this?  Quite a lot of Matlab
>> > code write annotations on plots using text
>> > and positions this outside the axes.
>> >
>> > Michael
>
>>
>> I notice this work for the gnuplot backend, but not for the FLTK backend.
>>
>> It looks to me like something is checking the x/ydata values and not
>> rendering the result if it is outsize the axis limits.
>>
>> I'd expect this to be done in gl_render.cc, but don't see where it is.
>> I've cc'd Kostas, in case he knows where this is done.
>>
>> Ben
>>
>
> printing of text objects is done in draw_axes_children in gl-render.cc
> after the clipping property is checked.
>
> So it works if you just set clipping off, like:
>
> set(ht,'clipping','off')
>
> If it would make sense we could change the default clipping to on.
>
> Kostas
>
> I just tried this.  It does not work.
> octave:1> ht=plot(1:200)
> ht = -19.142
> octave:2> set(ht,'clipping','off');
> octave:3> text(200,-2,'this is it')
> octave:4> set(ht,'clipping','on');
> octave:5> text(200,-2,'this is it')
> octave:6> text(200,2,'this is it')
> octave:7> text(200,20,'this is it')
> octave:8> text(201,20,'this is it')
> octave:9>
> =========================
> None of the text commands with x,y outside axes prints.
>
>
the clipping property refers to the text object, so just try:

ht=text(200,-2,'this is it');
set(ht,'clipping','on');

Kostas

Right. Now it "works."  Except, where you say above 'on'
you really need 'off'.   But, it is not like Matlab and it is a bit of
work to obtain the text handle and set 'off' for each text use.
So, how about default  'off.'?    Someday it might be useful
to have a global on/off, but maybe after the release?

Michael


reply via email to

[Prev in Thread] Current Thread [Next in Thread]