[Scilab-users] cannot get polarplot to graph a decent windrose

Federico Miyara fmiyara at fceia.unr.edu.ar
Sun Mar 24 03:27:10 CET 2019


Heinz,

> gca().rotation_angles = [180 0] is perfect for me. 270° West is 
> correctly on the left hand side !
>
> But I get a mess with a multiple plot.....I want the degrees only at 
> the outermost circle
> Heinz
>
> for i=1:6; ..
> polarplot(theta,MM(:,i),style=i); ...
> end;
> gca().rotation_angles = [180 0]

Sorry, I don't know how to fix that elegantly... except a brute force 
method.

Try the following. Take as an example with two graphs:

clf
x  =  (0:360)/180*%pi;
y  =  0.5*(1  +  cos(x));
z  =  0.375  +  0.675*cos(x);
polarplot(x,z)
polarplot(x,y)


Then,

gca().children

yields

  ans  =

70 by 1 matrix of handles:
==========================
Text
Segs
Text
Segs

(...)

I pressume that there are 70 "children" (any subordinated object) whose 
handles are organized as a matrix (or rather a column vector...), so I 
retrieve their handles writing

gca().children(n)

where n is a number between 1 and 70. They should contain some 
interesting properties.

For instance:

gca().children(1)

yields

Handle of type "Text" with properties:
======================================
parent: Axes
children: []
visible = "on"
text = "330"
alignment = "left"

(...)

The "330" suggests this property is which controls at least one of both 
(in my case) 330's, so

gca().children(1).visible = "off"

should make it invisible... and it does!

Then you could create a loop varying n so to make them all disappear. As 
a previous task, check which graph reaches the maximum and draw it at 
the end, so that you remove all the degree marks up to the graph before 
the last one.

I'm sure there must be a better way to do this, but in the emergency it 
might do the job. If you find a better solution, please comment it.


Federico Miyara


On 23/03/2019 19:59, Heinz Nabielek wrote:
> gca().rotation_angles = [180 0] is perfect for me. 270° West is 
> correctly on the left hand side !
>
> But I get a mess with a multiple plot.....I want the degrees only at 
> the outermost circle
> Heinz
>
> for i=1:6; ..
> polarplot(theta,MM(:,i),style=i); ...
> end;
> gca().rotation_angles = [180 0]



---
El software de antivirus Avast ha analizado este correo electrónico en busca de virus.
https://www.avast.com/antivirus
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/users/attachments/20190323/a61e9bb2/attachment.htm>


More information about the users mailing list