1+ function updatePolarplot(obj ,plotIndex )
2+
3+ % -------------------------------------------------------------------------%
4+
5+ % -Get plot class-%
6+ plotclass = obj .State .Plot(plotIndex ).Class;
7+
8+ % -------------------------------------------------------------------------%
9+
10+ % -run the correct plot class-%
11+ if strcmpi(plotclass , ' line' )
12+ updatePolarline(obj ,plotIndex )
13+ elseif strcmpi(plotclass , ' polaraxes' )
14+ updatePolaraxes(obj ,plotIndex )
15+ end
16+
17+ % -------------------------------------------------------------------------%
18+
19+ end
20+
21+
22+ % -------------------------------------------------------------------------%
23+ % -HELPERS FUNCTIONS-%
24+ % -------------------------------------------------------------------------%
25+
26+ function updatePolaraxes(obj ,plotIndex )
27+
28+ % -------------------------------------------------------------------------%
29+
30+ % -PLOT DATA STRUCTURE-%
31+ plot_data = get(obj .State .Plot(plotIndex ).Handle);
32+
33+ % -------------------------------------------------------------------------%
34+
35+ % -setting polar axes-%
36+ gridcolor = ' rgb(235,235,235)' ;
37+ linecolor = ' rgb(210,210,210)' ;
38+
39+ % -R-axis-%
40+ obj.layout.polar.angularaxis.tickmode = ' array' ;
41+ obj.layout.polar.angularaxis.tickvals = plot_data .ThetaTick(1 : end - 1 );
42+ obj.layout.polar.angularaxis.gridcolor = gridcolor ;
43+ obj.layout.polar.angularaxis.linecolor = linecolor ;
44+ obj.layout.polar.angularaxis.ticks = ' ' ;
45+
46+ % -Theta-axis-%
47+ obj.layout.polar.radialaxis.angle = plot_data .RAxisLocation ;
48+ obj.layout.polar.radialaxis.tickmode = ' array' ;
49+ obj.layout.polar.radialaxis.tickvals = plot_data .RTick ;
50+ obj.layout.polar.radialaxis.gridcolor = gridcolor ;
51+ obj.layout.polar.radialaxis.showline = false ;
52+ obj.layout.polar.radialaxis.tickangle = 90 ;
53+ obj.layout.polar.radialaxis.ticks = ' ' ;
54+
55+ % -------------------------------------------------------------------------%
56+
57+ end
58+
59+ function updatePolarline(obj ,plotIndex )
60+
61+ % -------------------------------------------------------------------------%
62+
63+ % -PLOT DATA STRUCTURE- %
64+ plot_data = get(obj .State .Plot(plotIndex ).Handle);
65+
66+ % -------------------------------------------------------------------------%
67+
68+ % -scatterpolar type-%
69+ obj.data{plotIndex }.type = ' scatterpolar' ;
70+
71+ % -------------------------------------------------------------------------%
72+
73+ % -scatter visible-%
74+ obj.data{plotIndex }.visible = strcmp(plot_data .Visible ,' on' );
75+
76+ % -------------------------------------------------------------------------%
77+
78+ % -scatter r-data-%
79+ obj.data{plotIndex }.r = abs(plot_data .RData );
80+
81+ % -------------------------------------------------------------------------%
82+
83+ % -scatter theta-data-%
84+ obj.data{plotIndex }.theta = rad2deg(plot_data .ThetaData );
85+
86+ % -------------------------------------------------------------------------%
87+
88+ % -scatterpolar name-%
89+ obj.data{plotIndex }.name = plot_data .DisplayName ;
90+
91+ % -------------------------------------------------------------------------%
92+
93+ % -scatterpolar mode-%
94+ if ~strcmpi(' none' , plot_data .Marker ) ...
95+ && ~strcmpi(' none' , plot_data .LineStyle )
96+ mode = ' lines+markers' ;
97+ elseif ~strcmpi(' none' , plot_data .Marker )
98+ mode = ' markers' ;
99+ elseif ~strcmpi(' none' , plot_data .LineStyle )
100+ mode = ' lines' ;
101+ else
102+ mode = ' none' ;
103+ end
104+
105+ obj.data{plotIndex }.mode = mode ;
106+
107+ % -------------------------------------------------------------------------%
108+
109+ % -scatter line-%
110+ obj.data{plotIndex }.line = extractLineLine(plot_data );
111+ obj.data{plotIndex }.line.width = 2 * obj.data{plotIndex }.line.width;
112+
113+ % -------------------------------------------------------------------------%
114+
115+ % -scatter marker-%
116+ obj.data{plotIndex }.marker = extractLineMarker(plot_data );
117+
118+ % -------------------------------------------------------------------------%
119+
120+ % -scatter showlegend-%
121+ leg = get(plot_data .Annotation );
122+ legInfo = get(leg .LegendInformation );
123+
124+ switch legInfo .IconDisplayStyle
125+ case ' on'
126+ showleg = true ;
127+ case ' off'
128+ showleg = false ;
129+ end
130+
131+ obj.data{plotIndex }.showlegend = showleg ;
132+
133+ % -------------------------------------------------------------------------%
134+
135+ end
0 commit comments