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