[Scilab-users] Problem with clip_state

classic Classic list List threaded Threaded
3 messages Options
fmiyara fmiyara
Reply | Threaded
Open this post in threaded view
|

[Scilab-users] Problem with clip_state


Dear All,

I have the following problem with the graphic axes property clip_state. I don't know if comes from an inaccurate description in the documentation or something I'm not understanding quite well...

1) I create new axes by plotting some data set. As expected, axes' size matches the plot data range.

2) I run  

gca().clip_state = "off"
  
Acording to the documentation  (https://help.scilab.org/docs/6.0.2/en_US/axes_properties.html), from now on all newly created objects should not clip, meaning that even if the object (such as a polyline) exceeds the original data range, it will be displayed in full.

3) I plot another data set that exceeds the original axes limits. Contrary to the expected behavior, it does clip.

4) I run

gca().clip_state

and I see it has reverted to "clipgrf". This explains the observed clipping, but it is not clear why the setting from 2) has changed.

5) I run again

gca().clip_state = "off"

Nothing happens (it makes sense, since the clip_state should affect new objects, not previous ones)

6) I run  

gce().children.clip_state = "off"

Only now the clipping is gone and the second plot shows in full.

Why the original clip_state setting is overridden?

If it is the normal or expected behavior (in which case the documentation isn't accurate), then what is it meant for, given that the final impact is that of each individual entity's setting?

Thanks in advance.

Federico Miyara 


Libre de virus. www.avast.com

_______________________________________________
users mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users
Samuel GOUGEON Samuel GOUGEON
Reply | Threaded
Open this post in threaded view
|

Re: Problem with clip_state

Hello Federico,

Le 06/04/2019 à 00:27, Federico Miyara a écrit :

Dear All,

I have the following problem with the graphic axes property clip_state. I don't know if comes from an inaccurate description in the documentation or something I'm not understanding quite well...

1) I create new axes by plotting some data set. As expected, axes' size matches the plot data range.

2) I run  

gca().clip_state = "off"
  
Acording to the documentation  (https://help.scilab.org/docs/6.0.2/en_US/axes_properties.html), from now on all newly created objects should not clip, meaning that even if the object (such as a polyline) exceeds the original data range, it will be displayed in full.

3) I plot another data set that exceeds the original axes limits. Contrary to the expected behavior, it does clip.

4) I run

gca().clip_state

and I see it has reverted to "clipgrf". This explains the observed clipping, but it is not clear why the setting from 2) has changed.

5) I run again

gca().clip_state = "off"

Nothing happens (it makes sense, since the clip_state should affect new objects, not previous ones)

6) I run  

gce().children.clip_state = "off"

Only now the clipping is gone and the second plot shows in full.

Why the original clip_state setting is overridden?

If it is the normal or expected behavior (in which case the documentation isn't accurate), then what is it meant for, given that the final impact is that of each individual entity's setting?

Confirmed.

This behavior occurs for ages: It was already the case with Scilab 4.0.
It occurs even with gca().auto_scale = "off".
It comes from plot2d(), that resets the value to "clipgrf".
It's not the case with xstring() or xpoly(), or i guess with other "low level" graphic functions like xarcs() etc.

I don't know if such a reset is intentional, and if so, why.
Anyway, it is not (yet) reported as a bug on Bugzilla.

Regards
Samuel


_______________________________________________
users mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users
fmiyara fmiyara
Reply | Threaded
Open this post in threaded view
|

Re: Problem with clip_state


OF, I have now filed it as a bug. Thenk you.

Regards,

Federico

On 06/04/2019 14:39, Samuel Gougeon wrote:
1) I create new axes by plotting some data set. As expected, axes' size matches the plot data range.

2) I run  

gca().clip_state = "off"
  
Acording to the documentation  (https://help.scilab.org/docs/6.0.2/en_US/axes_properties.html), from now on all newly created objects should not clip, meaning that even if the object (such as a polyline) exceeds the original data range, it will be displayed in full.

3) I plot another data set that exceeds the original axes limits. Contrary to the expected behavior, it does clip.

4) I run

gca().clip_state

and I see it has reverted to "clipgrf". This explains the observed clipping, but it is not clear why the setting from 2) has changed.

5) I run again

gca().clip_state = "off"

Nothing happens (it makes sense, since the clip_state should affect new objects, not previous ones)

6) I run  

gce().children.clip_state = "off"

Only now the clipping is gone and the second plot shows in full.


Libre de virus. www.avast.com

_______________________________________________
users mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users