Skip to content

Commit 334e07b

Browse files
Refactor extractAreaFace and extractPatchFace
1 parent 7b73aa2 commit 334e07b

File tree

2 files changed

+20
-44
lines changed

2 files changed

+20
-44
lines changed

plotly/plotlyfig_aux/helpers/extractAreaFace.m

Lines changed: 9 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,9 @@
44
% BARSERIES, CONTOURGROUP, SCATTERGROUP.
55

66
%-AXIS STRUCTURE-%
7-
axis_data = ancestor(area_data,"axes");
7+
cLim = ancestor(area_data,"axes").CLim;
8+
colormap = ancestor(area_data, "figure").Colormap;
89

9-
%-FIGURE STRUCTURE-%
10-
figure_data = ancestor(area_data,"figure");
11-
12-
%-INITIALIZE OUTPUT-%
13-
face = struct();
14-
15-
%--FACE FILL COLOR--%
16-
17-
%-figure colormap-%
18-
colormap = figure_data.Colormap;
19-
20-
% face face color
2110
MarkerColor = area_data.FaceColor;
2211
if isnumeric(MarkerColor)
2312
col = MarkerColor;
@@ -29,14 +18,14 @@
2918
alpha = 0;
3019
case "flat"
3120
areaACData = area_data.getColorAlphaDataExtents;
32-
capCD = max(min(areaACData(1,1),axis_data.CLim(2)), ...
33-
axis_data.CLim(1));
34-
scalefactor = (capCD - axis_data.CLim(1)) ...
35-
/ diff(axis_data.CLim);
36-
col = (colormap(1 + floor(scalefactor ...
37-
* (length(colormap)-1)),:));
21+
capCD = max(min(areaACData(1,1),cLim(2)), cLim(1));
22+
scalefactor = (capCD - cLim(1)) / diff(cLim);
23+
col = colormap(1 + floor(scalefactor ...
24+
* (length(colormap)-1)),:);
3825
alpha = area_data.FaceAlpha;
3926
end
4027
end
41-
face.color = getStringColor(round(255*col), alpha);
28+
face = struct(...
29+
"color", getStringColor(round(255*col), alpha) ...
30+
);
4231
end

plotly/plotlyfig_aux/helpers/extractPatchFace.m

Lines changed: 11 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,13 @@
22
% EXTRACTS THE FACE STYLE USED FOR MATLAB OBJECTS
33
% OF TYPE "PATCH". THESE OBJECTS ARE USED BOXPLOTS.
44

5-
%-AXIS STRUCTURE-%
6-
axis_data = ancestor(patch_data.Parent,"axes");
5+
cLim = ancestor(patch_data.Parent, ["axes" "polaraxes"]).CLim;
6+
colormap = ancestor(patch_data.Parent, "figure").Colormap;
77

8-
%-FIGURE STRUCTURE-%
9-
figure_data = ancestor(patch_data.Parent,"figure");
10-
11-
%-INITIALIZE OUTPUT-%
128
marker = struct();
13-
14-
%-PATCH EDGE WIDTH-%
159
marker.line.width = patch_data.LineWidth;
1610

17-
%-PATCH FACE COLOR-%
18-
colormap = figure_data.Colormap;
19-
2011
if isnumeric(patch_data.FaceColor)
21-
%-paper_bgcolor-%
2212
col = patch_data.FaceColor;
2313
alpha = patch_data.FaceAlpha;
2414
else
@@ -27,19 +17,18 @@
2717
col = [0 0 0];
2818
alpha = 0;
2919
case {"flat","interp"}
20+
faceVertexCData = patch_data.FaceVertexCData(1,1);
3021
switch patch_data.CDataMapping
3122
case "scaled"
32-
capCD = max(min(patch_data.FaceVertexCData(1,1), ...
33-
axis_data.CLim(2)), axis_data.CLim(1));
34-
scalefactor = (capCD - axis_data.CLim(1)) ...
35-
/ diff(axis_data.CLim);
23+
capCD = max(min(faceVertexCData, cLim(2)), cLim(1));
24+
scalefactor = (capCD - cLim(1)) / diff(cLim);
3625
col = colormap(1 + floor(scalefactor ...
3726
* (length(colormap)-1)),:);
3827
case "direct"
39-
col = colormap(patch_data.FaceVertexCData(1,1),:);
28+
col = colormap(faceVertexCData,:);
4029
end
4130
alpha = patch_data.FaceAlpha;
42-
case 'auto'
31+
case "auto"
4332
cIndex = find(flipud(arrayfun(@(x) isequaln(x,patch_data), ...
4433
patch_data.Parent.Children))); % far from pretty
4534
col = patch_data.Parent.ColorOrder(cIndex,:);
@@ -48,7 +37,6 @@
4837
end
4938
marker.color = getStringColor(round(255*col), alpha);
5039

51-
%-PATCH EDGE COLOR-%
5240
if isnumeric(patch_data.EdgeColor)
5341
col = patch_data.EdgeColor;
5442
alpha = patch_data.EdgeAlpha;
@@ -58,16 +46,15 @@
5846
col = [0 0 0];
5947
alpha = 0;
6048
case "flat"
49+
faceVertexCData = patch_data.FaceVertexCData(1,1);
6150
switch patch_data.CDataMapping
6251
case "scaled"
63-
capCD = max(min(patch_data.FaceVertexCData(1,1), ...
64-
axis_data.CLim(2)), axis_data.CLim(1));
65-
scalefactor = (capCD - axis_data.CLim(1)) ...
66-
/ diff(axis_data.CLim);
52+
capCD = max(min(faceVertexCData, cLim(2)), cLim(1));
53+
scalefactor = (capCD - cLim(1)) / diff(cLim);
6754
col = colormap(1 + floor(scalefactor ...
6855
* (length(colormap)-1)),:);
6956
case "direct"
70-
col = colormap(patch_data.FaceVertexCData(1,1),:);
57+
col = colormap(faceVertexCData,:);
7158
end
7259
alpha = patch_data.EdgeAlpha;
7360
end

0 commit comments

Comments
 (0)