|
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