Bonjour,
je dispose d'une matrice 200*3600 que j'affiche grace à surf.
Je souhaiterais changer les abscisses et ordonnées en 0:15 min et 45:860.
Pour l'ordonnée, je fais un simple linspace:
axe_ordonne=linspace(860,45,200);
Par contre, pour les absicsses, cela se complique, vu que l'axe doit etre temporel et non linéaire. Je traduis alors le debut de ma matrice, ici 0 min, et la fin, ici 15 min, grace à "Datenum".
1 2
|
x{i}=linspace(axe_abscisse_mod2{i}(1), axe_abscisse_mod2{i}(length(axe_abscisse_mod2{i})), 3600); |
Je verifie que les minutes sont les bonne grace à datestr(x{i}), ce qui est le cas.
Je fais alors un meshgrid:
[X{i},Y{i}] = meshgrid(x{i},axe_ordonne);
et je surf:
1 2 3 4
|
surf(X{i},Y{i}, Matrix{i});
view(0,90)
shading interp |
J'affiche ensuite les points qui m'interessent, ici, toute les minutes.
1 2 3
|
set(gca, 'XTick', x{i}(1:241:end)); %Conserve la valeur numerique de chaque minutes ( en "datenum")
datetick('x', 'HH:MM PM', 'keepticks') ; %traduit les "datenum" en horaires normales" |
Mon probleme: la matrice ne s'affiche pas! Les axes sont bons, mais la matrice n'apparait pas...
Si vous avez une idée de la maniere de corriger le probleme, ce serait avec plaisir!
Ou une autre méthode pour modifier l'axe des abscisse sur un Surf...
Merci
Partager