Skip to content

Commit 03f5ea4

Browse files
Merge pull request #395 from plotly/fix_issues_and_awesome_improvements_in_surfl_functionality
fix issues and awesome improvements in surfl functionality
2 parents 3932dbc + 37e955d commit 03f5ea4

File tree

4 files changed

+482
-18
lines changed

4 files changed

+482
-18
lines changed

plotly/plotlyfig_aux/core/updateData.m

+2
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@
3737
updateSurfc(obj, dataIndex);
3838
elseif strcmpi(obj.PlotOptions.TreatAs, 'meshc')
3939
updateSurfc(obj, dataIndex);
40+
elseif strcmpi(obj.PlotOptions.TreatAs, 'surfl')
41+
updateSurfl(obj, dataIndex);
4042

4143
% this one will be revomed
4244
elseif strcmpi(obj.PlotOptions.TreatAs, 'streamtube')

plotly/plotlyfig_aux/handlegraphics/updateMesh.m

+33-9
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,21 @@
7171
obj.data{surfaceIndex}.y = yDataSurface;
7272
obj.data{surfaceIndex}.z = zDataSurface;
7373

74+
%- setting grid mesh by default -%
75+
% x-direction
76+
xData = xData(1, :);
77+
obj.data{surfaceIndex}.contours.x.start = xData(1);
78+
obj.data{surfaceIndex}.contours.x.end = xData(end);
79+
obj.data{surfaceIndex}.contours.x.size = mean(diff(xData));
80+
obj.data{surfaceIndex}.contours.x.show = true;
81+
82+
% y-direction
83+
yData = yData(:, 1);
84+
obj.data{surfaceIndex}.contours.y.start = yData(1);
85+
obj.data{surfaceIndex}.contours.y.end = yData(end);
86+
obj.data{surfaceIndex}.contours.y.size = mean(diff(yData));;
87+
obj.data{surfaceIndex}.contours.y.show = true;
88+
7489
%-------------------------------------------------------------------------%
7590

7691
%-set data on scatter3d-%
@@ -103,6 +118,9 @@
103118
cDataContour = zDataContour(:);
104119
obj.data{contourIndex}.line.colorscale = colorScale;
105120

121+
obj.data{surfaceIndex}.contours.x.show = false;
122+
obj.data{surfaceIndex}.contours.y.show = false;
123+
106124
elseif strcmpi(meshData.EdgeColor, 'flat')
107125
cData = meshData.CData;
108126

@@ -132,13 +150,20 @@
132150
cDataContourDir2 = [cDataContourDir2; NaN(1, size(cDataContourDir2, 2))];
133151
cDataContour = [cDataContourDir1(:); cDataContourDir2(:)];
134152

153+
obj.data{surfaceIndex}.contours.x.show = false;
154+
obj.data{surfaceIndex}.contours.y.show = false;
155+
135156
elseif strcmpi(meshData.EdgeColor, 'none')
136157
cDataContour = 'rgba(0,0,0,0)';
158+
obj.data{surfaceIndex}.contours.x.show = false;
159+
obj.data{surfaceIndex}.contours.y.show = false;
137160

138161
end
139162

140163
%-set edge color-%
141164
obj.data{contourIndex}.line.color = cDataContour;
165+
obj.data{surfaceIndex}.contours.x.color = cDataContour;
166+
obj.data{surfaceIndex}.contours.y.color = cDataContour;
142167

143168
%-------------------------------------------------------------------------%
144169

@@ -202,6 +227,8 @@
202227
end
203228
else
204229
cDataSurface = cData;
230+
obj.data{surfaceIndex}.cmin = axisData.CLim(1);
231+
obj.data{surfaceIndex}.cmax = axisData.CLim(2);
205232
end
206233

207234
end
@@ -239,15 +266,12 @@
239266

240267
obj.data{contourIndex}.line.width = 3*meshData.LineWidth;
241268

242-
switch meshData.LineStyle
243-
case '-'
244-
obj.data{contourIndex}.line.dash = 'solid';
245-
case '--'
246-
obj.data{contourIndex}.line.dash = 'dash';
247-
case '-.'
248-
obj.data{contourIndex}.line.dash = 'dashdot';
249-
case ':'
250-
obj.data{contourIndex}.line.dash = 'dot';
269+
if strcmpi(meshData.LineStyle, '-')
270+
obj.data{contourIndex}.line.dash = 'solid';
271+
else
272+
obj.data{contourIndex}.line.dash = 'dot';
273+
obj.data{surfaceIndex}.contours.x.show = false;
274+
obj.data{surfaceIndex}.contours.y.show = false;
251275
end
252276

253277
%-------------------------------------------------------------------------%

plotly/plotlyfig_aux/handlegraphics/updateSurf.m

+33-9
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,21 @@
7171
obj.data{surfaceIndex}.y = yDataSurface;
7272
obj.data{surfaceIndex}.z = zDataSurface;
7373

74+
%- setting grid mesh by default -%
75+
% x-direction
76+
xData = xData(1, :);
77+
obj.data{surfaceIndex}.contours.x.start = xData(1);
78+
obj.data{surfaceIndex}.contours.x.end = xData(end);
79+
obj.data{surfaceIndex}.contours.x.size = mean(diff(xData));
80+
obj.data{surfaceIndex}.contours.x.show = true;
81+
82+
% y-direction
83+
yData = yData(:, 1);
84+
obj.data{surfaceIndex}.contours.y.start = yData(1);
85+
obj.data{surfaceIndex}.contours.y.end = yData(end);
86+
obj.data{surfaceIndex}.contours.y.size = mean(diff(yData));;
87+
obj.data{surfaceIndex}.contours.y.show = true;
88+
7489
%-------------------------------------------------------------------------%
7590

7691
%-set data on scatter3d-%
@@ -103,6 +118,9 @@
103118
cDataContour = zDataContour(:);
104119
obj.data{contourIndex}.line.colorscale = colorScale;
105120

121+
obj.data{surfaceIndex}.contours.x.show = false;
122+
obj.data{surfaceIndex}.contours.y.show = false;
123+
106124
elseif strcmpi(meshData.EdgeColor, 'flat')
107125
cData = meshData.CData;
108126

@@ -132,13 +150,20 @@
132150
cDataContourDir2 = [cDataContourDir2; NaN(1, size(cDataContourDir2, 2))];
133151
cDataContour = [cDataContourDir1(:); cDataContourDir2(:)];
134152

153+
obj.data{surfaceIndex}.contours.x.show = false;
154+
obj.data{surfaceIndex}.contours.y.show = false;
155+
135156
elseif strcmpi(meshData.EdgeColor, 'none')
136157
cDataContour = 'rgba(0,0,0,0)';
158+
obj.data{surfaceIndex}.contours.x.show = false;
159+
obj.data{surfaceIndex}.contours.y.show = false;
137160

138161
end
139162

140163
%-set edge color-%
141164
obj.data{contourIndex}.line.color = cDataContour;
165+
obj.data{surfaceIndex}.contours.x.color = cDataContour;
166+
obj.data{surfaceIndex}.contours.y.color = cDataContour;
142167

143168
%-------------------------------------------------------------------------%
144169

@@ -202,6 +227,8 @@
202227
end
203228
else
204229
cDataSurface = cData;
230+
obj.data{surfaceIndex}.cmin = axisData.CLim(1);
231+
obj.data{surfaceIndex}.cmax = axisData.CLim(2);
205232
end
206233

207234
end
@@ -239,15 +266,12 @@
239266

240267
obj.data{contourIndex}.line.width = 3*meshData.LineWidth;
241268

242-
switch meshData.LineStyle
243-
case '-'
244-
obj.data{contourIndex}.line.dash = 'solid';
245-
case '--'
246-
obj.data{contourIndex}.line.dash = 'dash';
247-
case '-.'
248-
obj.data{contourIndex}.line.dash = 'dashdot';
249-
case ':'
250-
obj.data{contourIndex}.line.dash = 'dot';
269+
if strcmpi(meshData.LineStyle, '-')
270+
obj.data{contourIndex}.line.dash = 'solid';
271+
else
272+
obj.data{contourIndex}.line.dash = 'dot';
273+
obj.data{surfaceIndex}.contours.x.show = false;
274+
obj.data{surfaceIndex}.contours.y.show = false;
251275
end
252276

253277
%-------------------------------------------------------------------------%

0 commit comments

Comments
 (0)