How can I change colorbar division in Matlab

5 vues (au cours des 30 derniers jours)
Tony
Tony le 12 Août 2014
Réponse apportée : Björn le 13 Août 2014
Currently my colorbar are divided into 1x 10^7, 2 x 10^7 ,...,7 x 10^7. Is there anywway I can change it to 10^1, 10^2 10^3 ... 10^7. Thank you
Is there anywway I can change it to 10^1, 10^2 10^3 ... 10^7. Thank you
  2 commentaires
Björn
Björn le 12 Août 2014
Tony
Tony le 12 Août 2014
My data was a matrix 90x125 my friend. Do you found anyway to apply this code? Thank for suggesting

Connectez-vous pour commenter.

Réponse acceptée

Björn
Björn le 13 Août 2014
Just change the meshgrid from [X, Y]=meshgrid(x,x) to [X, Y]=meshgrid(x,y) in the second message at http://www.mathworks.com/matlabcentral/newsreader/view_thread/152310.
x=(1:1:125);
y=(1:1:90);
[X,Y]=meshgrid(x,y);
data = 1./sqrt((X/10000000).^2 + (Y/10000000).^2);
% Define the range of the data that we wish to plot
my_clim=[1e1 1e7];
figure('units', 'normalized', 'outerposition', [0.1 0.1 0.8 0.8]);
% Create a "junk" axes to get the appropriate colorbar
linear_axes = subplot(1,1,1);
linear_plot = pcolor(linear_axes, X ,Y, data);
colormap(jet(64)), caxis(my_clim)
cbar = colorbar('peer', linear_axes, 'Yscale', 'log');
% Now plot the data on a log scale, but keep the colorbar. This works, but
% now the colorbar is not associated with the plot
set(linear_axes, 'Visible', 'off')
log_axes = axes('Position', get(linear_axes, 'Position'));
log_plot = pcolor(log_axes, X, Y, log10(data));
colormap(jet(64)), caxis(log10(my_clim));
Note that this might not be the best way, because the colorbar is not connected to the plot.

Plus de réponses (0)

Catégories

En savoir plus sur Color and Styling dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by