Skip to content

Commit b1b3317

Browse files
Merge pull request #222 from plotly/fixing_issue_191
fix issue #191
2 parents 8379426 + 87e0039 commit b1b3317

File tree

2 files changed

+81
-110
lines changed

2 files changed

+81
-110
lines changed

Diff for: plotly/plotlyfig_aux/handlegraphics/updateScatter.m

+76-110
Original file line numberDiff line numberDiff line change
@@ -96,117 +96,83 @@ function updateScatter(obj,scatterIndex)
9696

9797
%-------------------------------------------------------------------------%
9898

99-
%-scatter patch data-%
100-
for m = 1:length(scatter_data)
101-
102-
%reverse counter
103-
n = length(scatter_data) - m + 1;
104-
105-
%---------------------------------------------------------------------%
106-
107-
%-scatter x-%
108-
if length(scatter_data) > 1
109-
obj.data{scatterIndex}.x(m) = scatter_data(n).XData;
110-
else
111-
obj.data{scatterIndex}.x = scatter_data.XData;
112-
end
113-
114-
%---------------------------------------------------------------------%
115-
116-
%-scatter y-%
117-
if length(scatter_data) > 1
118-
obj.data{scatterIndex}.y(m) = scatter_data(n).YData;
119-
else
120-
obj.data{scatterIndex}.y = scatter_data.YData;
121-
end
122-
123-
%---------------------------------------------------------------------%
124-
125-
%-scatter z-%
126-
if isHG2()
127-
if isfield(scatter_data,'ZData')
128-
if any(scatter_data.ZData)
129-
if length(scatter_data) > 1
130-
obj.data{scatterIndex}.z(m) = scatter_data(n).ZData;
131-
else
132-
obj.data{scatterIndex}.z = scatter_data.ZData;
133-
end
134-
% overwrite type
135-
obj.data{scatterIndex}.type = 'scatter3d';
136-
end
137-
end
138-
end
139-
140-
%---------------------------------------------------------------------%
141-
142-
%-scatter showlegend-%
143-
leg = get(scatter_data.Annotation);
144-
legInfo = get(leg.LegendInformation);
145-
146-
switch legInfo.IconDisplayStyle
147-
case 'on'
148-
showleg = true;
149-
case 'off'
150-
showleg = false;
151-
end
152-
153-
obj.data{scatterIndex}.showlegend = showleg;
154-
155-
%---------------------------------------------------------------------%
156-
157-
%-scatter marker-%
158-
childmarker = extractScatterMarker(scatter_data(n));
159-
160-
%---------------------------------------------------------------------%
161-
162-
%-line color-%
163-
if length(scatter_data) > 1
164-
obj.data{scatterIndex}.marker.line.color{m} = childmarker.line.color{1};
165-
else
166-
obj.data{scatterIndex}.marker.line.color = childmarker.line.color;
167-
end
168-
169-
%---------------------------------------------------------------------%
170-
171-
%-marker color-%
172-
if length(scatter_data) > 1
173-
obj.data{scatterIndex}.marker.color{m} = childmarker.color{1};
174-
else
175-
obj.data{scatterIndex}.marker.color = childmarker.color;
176-
end
177-
178-
%---------------------------------------------------------------------%
179-
180-
%-sizeref-%
181-
obj.data{scatterIndex}.marker.sizeref = childmarker.sizeref;
182-
183-
%---------------------------------------------------------------------%
184-
185-
%-sizemode-%
186-
obj.data{scatterIndex}.marker.sizemode = childmarker.sizemode;
187-
188-
%---------------------------------------------------------------------%
189-
190-
%-symbol-%
191-
obj.data{scatterIndex}.marker.symbol{m} = childmarker.symbol;
192-
193-
%---------------------------------------------------------------------%
194-
195-
%-size-%
196-
obj.data{scatterIndex}.marker.size = childmarker.size;
197-
198-
%---------------------------------------------------------------------%
199-
200-
%-line width-%
201-
202-
if length(scatter_data) > 1 || ischar(childmarker.line.color)
203-
obj.data{scatterIndex}.marker.line.width(m) = childmarker.line.width;
204-
else
205-
obj.data{scatterIndex}.marker.line.width(1:length(childmarker.line.color)) = childmarker.line.width;
99+
100+
%---------------------------------------------------------------------%
101+
102+
%-scatter x-%
103+
obj.data{scatterIndex}.x = scatter_data.XData;
104+
105+
%---------------------------------------------------------------------%
106+
107+
%-scatter y-%
108+
obj.data{scatterIndex}.y = scatter_data.YData;
109+
110+
%---------------------------------------------------------------------%
111+
112+
%-scatter z-%
113+
if isHG2()
114+
if isfield(scatter_data,'ZData')
115+
obj.data{scatterIndex}.type = 'scatter3d';
116+
obj.data{scatterIndex}.z = scatter_data.ZData;
206117
end
207-
208-
%---------------------------------------------------------------------%
209-
210118
end
119+
120+
%---------------------------------------------------------------------%
121+
122+
%-scatter showlegend-%
123+
leg = get(scatter_data.Annotation);
124+
legInfo = get(leg.LegendInformation);
125+
126+
switch legInfo.IconDisplayStyle
127+
case 'on'
128+
showleg = true;
129+
case 'off'
130+
showleg = false;
131+
end
132+
133+
obj.data{scatterIndex}.showlegend = showleg;
134+
135+
%---------------------------------------------------------------------%
136+
137+
%-scatter marker-%
138+
childmarker = extractScatterMarker(scatter_data);
139+
140+
%---------------------------------------------------------------------%
141+
142+
%-line color-%
143+
obj.data{scatterIndex}.marker.line.color = childmarker.line.color;
144+
145+
%---------------------------------------------------------------------%
146+
147+
%-marker color-%
148+
obj.data{scatterIndex}.marker.color = childmarker.color;
149+
150+
%---------------------------------------------------------------------%
151+
152+
%-sizeref-%
153+
obj.data{scatterIndex}.marker.sizeref = childmarker.sizeref;
154+
155+
%---------------------------------------------------------------------%
156+
157+
%-sizemode-%
158+
obj.data{scatterIndex}.marker.sizemode = childmarker.sizemode;
159+
160+
%---------------------------------------------------------------------%
161+
162+
%-symbol-%
163+
obj.data{scatterIndex}.marker.symbol = childmarker.symbol;
164+
165+
%---------------------------------------------------------------------%
166+
167+
%-size-%
168+
obj.data{scatterIndex}.marker.size = childmarker.size*0.1;
169+
170+
%---------------------------------------------------------------------%
171+
172+
%-line width-%
173+
obj.data{scatterIndex}.marker.line.width = childmarker.line.width;
174+
175+
%---------------------------------------------------------------------%
176+
211177
end
212178

Diff for: plotly/plotlyfig_aux/helpers/extractScatterMarker.m

+5
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,7 @@
121121
markercolor{n} = ['rgb(' num2str(col(1)) ',' num2str(col(2)) ',' num2str(col(3)) ')'];
122122

123123
end
124+
markercolor = markercolor{1}
124125
end
125126
end
126127

@@ -175,6 +176,8 @@
175176
markerlinecolor{n} = ['rgb(' num2str(col(1)) ',' num2str(col(2)) ',' num2str(col(3)) ')'];
176177

177178
end
179+
180+
markerlinecolor = markerlinecolor{1}
178181

179182
end
180183
end
@@ -190,6 +193,8 @@
190193
markerlinecolor{n} = ['rgb(' num2str(col(1)) ',' num2str(col(2)) ',' num2str(col(3)) ')'];
191194

192195
end
196+
197+
markerlinecolor = markerlinecolor{1};
193198
end
194199
end
195200

0 commit comments

Comments
 (0)