Bonjour,
Je veux tracer un contourf en utilisant une colorbar non linéaire. Elle aurait par exemple un pas de 0.1 sur [0 1] puis un pas de 1 sur [1 5].
Le mieux que je puisse obtenir est exposé en dessous. Néanmoins c'est loin d'être parfait, 0.9 et 1 prenne la même couleur et je voudrais que les YTick de la colorbar soit situés aux bornes des intervalles et pas en plein milieu !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 x = [0:0.1:1,2:1:5]; X = repmat(x,10,1); Nx = length(x); clim = [min(x) max(x)]; dx = min(diff(x)); y = clim(1):dx:clim(2); for k=1:Nx-1, y(y>x(k) & y<=x(k+1)) = x(k+1); end cmap = colormap(jet(Nx)); cmap2 = [... interp1(x(:),cmap(:,1),y(:)) ... interp1(x(:),cmap(:,2),y(:)) ... interp1(x(:),cmap(:,3),y(:)) ... ]; colormap(cmap2) contourf(X,x,'linestyle','none');hold on colorbar
Partager