1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
% Fonction de mise à jour des graphiques en accord avec les paramètres
% choisis.
function Axes_update(hObject,handles,axeName,titleName,axeType,markerType,markerSize,X,Y,Z)
% axeType : plot(2D) ou scatter(3D)
% Carto = getappdata(handles.grid_CartoModelisation,'Carto');
Carto = getappdata(handles.grid_CartoModelisation,'Carto');
if strcmp(axeType,'2D')
Carto.NaNplotind=0;
for i=1:length(X)
if(isnan(X(i))||isnan(Y(i)))
Carto.NaNplotind=1;
end
end
if (Carto.NaNplotind==1)
Carto.userMessage='Au moins une valeur de ce paramètre n''''est pas un nombre';
set(handles.StaticText_userMessages,'String',strcat(Carto.userMessage,{' - Graphiques 2D non mis à jour, Cas intraitable - '},titleName));
else
axes(axeName);
% gestion affichage points d'appuis
if ((Carto.modelisationmodel~=0)&&(Carto.CB_ptsAppuis==1))
if (not(ischar(whatIsMyIndex(hObject,handles,Carto.upSorted,Carto.isoN))))
Matrix(:,1)=Carto.data(:,1);
Matrix(:,2)=Carto.data(:,2);
Matrix(:,3)=Carto.data(:,Carto.paramVisu_idx+2);
valuesToPlotIsoN(hObject,handles,Carto.isoN,Matrix)
Carto = getappdata(handles.grid_CartoModelisation,'Carto');
end
end
plot(X,Y,markerType,'MarkerSize',markerSize)
if ((Carto.modelisationmodel~=0)&&(Carto.CB_ptsAppuis==1))
hold on
if (not(ischar(whatIsMyIndex(hObject,handles,Carto.upSorted,Carto.isoN))))
plot(Carto.valuesToPlot(:,1),Carto.valuesToPlot(:,2),'rs','MarkerSize',markerSize+1,'MarkerEdgeColor','k',...
'MarkerFaceColor','k')
end
hold off
end
legend(strcat(Carto.param(Carto.paramVisu_idx+2),{' ('},Carto.legende(Carto.paramVisu_idx+2),')'),'Location','BestOutside','Orientation','horizontal')
axis([min(min(0,min(X)),min(0,min(Carto.reseauxiso.C))) max(max(Carto.reseauxiso.C)*(1.05),max(X)*(1.05)) min(0,min(Y)) max(Y)*(1.1)])
xlabel('C (N.m)')
ylabel(strcat(Carto.param(Carto.paramVisu_idx+2),{' ('},Carto.legende(Carto.paramVisu_idx+2),')'))
title(strcat(titleName,{' '},Carto.param(Carto.paramVisu_idx+2),{' - isoN '},num2str(Carto.titleValue)));
set(handles.StaticText_userMessages,'String',strcat(Carto.userMessage,{' - Graphiques mis à jour - '},titleName));
end
elseif strcmp(axeType,'3D')
axes(axeName);
rotate3d off
rotate3d on
scatter3(X,Y,Z,markerSize,Z,markerType)
if ((Carto.modelisationmodel~=0)&&(Carto.CB_ptsAppuis==1))
hold on
scatter3(Carto.data(:,1),Carto.data(:,2),Carto.data(:,Carto.paramVisu_idx+2),markerSize+50,'k','rs')
hold off
end
colorbar('location','EastOutside')
axis([min(min(X)*0.9,min(X)*1.1) max(X) min(min(Y)*0.9,min(Y)*1.1) max(Y) min(min(Z)*0.9,min(Z)*1.1) max(Z)])
xlabel('N (tour(s)/min)')
ylabel('C (N.m)')
zlabel(strcat(Carto.param(Carto.paramVisu_idx+2),{' ('},Carto.legende(Carto.paramVisu_idx+2),')'))
title(strcat(titleName,{' '},Carto.param(Carto.paramVisu_idx+2)))
if axeName==handles.Axes_CartoNomi3D
set(handles.ST_cb_nomi3D,'String',strcat('(',Carto.legende(Carto.paramVisu_idx+2),')'));
elseif axeName==handles.Axes_CartoMaxi3D
set(handles.ST_cb_maxi3D,'String',strcat('(',Carto.legende(Carto.paramVisu_idx+2),')'));
end
set(handles.StaticText_userMessages,'String',strcat(Carto.userMessage,{' - Graphiques mis à jour - '},titleName));
end
setappdata (handles.grid_CartoModelisation,'Carto',Carto); |
Partager