|
1 | 1 | function obj = updateBar(obj,barIndex)
|
2 |
| - |
3 | 2 | % x: ...[DONE]
|
4 | 3 | % y: ...[DONE]
|
5 | 4 | % name: ...[DONE]
|
|
42 | 41 | % outliercolor: ...[NA]
|
43 | 42 | % outlierwidth: ...[NA]
|
44 | 43 |
|
45 |
| - %-------------------------------------------------------------------------% |
| 44 | + %---------------------------------------------------------------------% |
46 | 45 |
|
47 | 46 | %-AXIS INDEX-%
|
48 | 47 | axIndex = obj.getAxisIndex(obj.State.Plot(barIndex).AssociatedAxis);
|
|
53 | 52 | %-CHECK FOR MULTIPLE AXES-%
|
54 | 53 | [xSource, ySource] = findSourceAxis(obj, axIndex);
|
55 | 54 |
|
56 |
| - %-------------------------------------------------------------------------% |
| 55 | + %---------------------------------------------------------------------% |
57 | 56 |
|
58 | 57 | %-associate axis-%
|
59 |
| - obj.data{barIndex}.xaxis = sprintf('x%d', xSource); |
60 |
| - obj.data{barIndex}.yaxis = sprintf('y%d', ySource); |
| 58 | + obj.data{barIndex}.xaxis = "x" + xSource; |
| 59 | + obj.data{barIndex}.yaxis = "y" + ySource; |
61 | 60 |
|
62 |
| - %-------------------------------------------------------------------------% |
| 61 | + %---------------------------------------------------------------------% |
63 | 62 |
|
64 | 63 | %-set trace-%
|
65 |
| - obj.data{barIndex}.type = 'bar'; |
| 64 | + obj.data{barIndex}.type = "bar"; |
66 | 65 | obj.data{barIndex}.name = barData.DisplayName;
|
67 |
| - obj.data{barIndex}.visible = strcmp(barData.Visible,'on'); |
| 66 | + obj.data{barIndex}.visible = strcmp(barData.Visible,"on"); |
68 | 67 |
|
69 |
| - %-------------------------------------------------------------------------% |
| 68 | + %---------------------------------------------------------------------% |
70 | 69 |
|
71 | 70 | %-set plot data-%
|
72 | 71 | xData = barData.XData;
|
73 | 72 | yData = barData.YData;
|
74 | 73 |
|
75 |
| - if isduration(xData) || isdatetime(xData), xData = datenum(xData); end |
76 |
| - if isduration(yData) || isdatetime(yData), yData = datenum(yData); end |
| 74 | + if isduration(xData) || isdatetime(xData) |
| 75 | + xData = datenum(xData); |
| 76 | + end |
| 77 | + if isduration(yData) || isdatetime(yData) |
| 78 | + yData = datenum(yData); |
| 79 | + end |
77 | 80 |
|
78 | 81 | switch barData.Horizontal
|
79 |
| - case 'off' |
80 |
| - obj.data{barIndex}.orientation = 'v'; |
| 82 | + case "off" |
| 83 | + obj.data{barIndex}.orientation = "v"; |
81 | 84 | obj.data{barIndex}.x = xData;
|
82 | 85 | obj.data{barIndex}.y = yData;
|
83 |
| - |
84 |
| - case 'on' |
85 |
| - obj.data{barIndex}.orientation = 'h'; |
| 86 | + case "on" |
| 87 | + obj.data{barIndex}.orientation = "h"; |
86 | 88 | obj.data{barIndex}.x = yData;
|
87 | 89 | obj.data{barIndex}.y = xData;
|
88 | 90 | end
|
89 | 91 |
|
90 |
| - %-------------------------------------------------------------------------% |
| 92 | + %---------------------------------------------------------------------% |
91 | 93 |
|
92 | 94 | %-trace settings-%
|
93 | 95 | markerline = extractAreaLine(barData);
|
94 | 96 |
|
95 | 97 | obj.data{barIndex}.marker = extractAreaFace(barData);
|
96 | 98 | obj.data{barIndex}.marker.line = markerline;
|
97 | 99 |
|
98 |
| - %-------------------------------------------------------------------------% |
| 100 | + %---------------------------------------------------------------------% |
99 | 101 |
|
100 | 102 | %-layout settings-%
|
101 | 103 | obj.layout.bargroupgap = 1-barData.BarWidth;
|
102 | 104 |
|
103 |
| - try |
104 |
| - obj.layout.bargap = obj.layout.bargap + 0.0625; |
105 |
| - catch |
106 |
| - obj.layout.bargap = 0.0625; |
| 105 | + bars = findobj(obj.State.Plot(barIndex).AssociatedAxis.Children, ... |
| 106 | + "Type", "Bar"); |
| 107 | + nBar = sum({bars.BarLayout}=="grouped"); |
| 108 | + if nBar > 1 |
| 109 | + obj.layout.bargap = 0.2; |
| 110 | + else |
| 111 | + obj.layout.bargap = 0; |
107 | 112 | end
|
108 | 113 |
|
109 | 114 | switch barData.BarLayout
|
110 |
| - case 'grouped' |
111 |
| - obj.layout.barmode = 'group'; |
112 |
| - case 'stacked' |
113 |
| - obj.layout.barmode = 'relative'; |
| 115 | + case "grouped" |
| 116 | + obj.layout.barmode = "group"; |
| 117 | + case "stacked" |
| 118 | + obj.layout.barmode = "relative"; |
114 | 119 | end
|
115 | 120 |
|
116 |
| - %-------------------------------------------------------------------------% |
| 121 | + %---------------------------------------------------------------------% |
117 | 122 |
|
118 | 123 | %-bar showlegend-%
|
119 | 124 | leg = barData.Annotation;
|
120 | 125 | legInfo = leg.LegendInformation;
|
121 | 126 |
|
122 | 127 | switch legInfo.IconDisplayStyle
|
123 |
| - case 'on' |
| 128 | + case "on" |
124 | 129 | showleg = true;
|
125 |
| - case 'off' |
| 130 | + case "off" |
126 | 131 | showleg = false;
|
127 | 132 | end
|
128 |
| - |
129 | 133 | obj.data{barIndex}.showlegend = showleg;
|
130 |
| - |
131 |
| - %-------------------------------------------------------------------------% |
132 | 134 | end
|
0 commit comments