Colormap - contourf scaling and color distribution
Show older comments
Hi,
I want to plot the matrix M_2f1 with the contourf command (logarithmic scaling). So far this works quite well.
But two points bother me:
1. I would like to specify a defined area in the colorbar (e.g. 0 to 10). Here, logarithmic scaling is certainly a hindrance. Is there another option than choosing a very small, positive value?
2. I don't like the color distribution in the colorbar. I would prefer an even distribution (detached from the logarithmic scaling)
M_2f1=[0.0149766610154867,0.0148727404855169,0.0149659744686933,0.0197882778625291,0.0184313013563117,0.0176794194615834,0.0196108762871584,0.0258284889924015,0.0354233801633032,0.171924195188659,0.0281396699959042,0.0141469884838954,0.0334375924402216,0.0314806724042401,0.172885272977384,0.0883818321056840,0.106217236988698,0.0782668761035103,0.122073669629712,0.0274013525228684,0.0485163365474854;0.0250969531529632,0.0139275587788499,0.0130272875683284,0.0198185099934251,0.0258483008607248,0.0216474128550250,0.0260883732887959,0.0329091753710079,0.0268783125653000,1.91538463836732,0.195449696327352,0.0381036869089853,0.0588836876081499,0.171757614634871,0.0231260787399225,0.170935395044788,0.120483617869003,0.600468182457506,0.166605755383242,0.318424884533997,0.0370178336952820;0.0127170974716373,0.0147177357124663,0.0142949618281963,0.0141321097009308,0.0135950246696883,0.0155180804843015,0.0128687984781713,0.0162524560391073,0.0149971936741940,0.0137489964554028,0.0328922058840716,0.0135826966044079,0.0147869975187494,0.0136696060929059,0.0133113468539191,0.0684702636256040,0.0644115870564511,0.359497603819481,0.0386968843910783,0.0148698983598170,0.0194361839183835]
f = figure(1);
axes1 = axes('Parent',f);
hold(axes1,'on');
[C,h]=contourf(log(M_2f1),15);
h.LineWidth = 0.0001;
box(axes1,'on');
axis(axes1,'tight');
set(axes1,'BoxStyle','full','Layer','top');
set(gca,'colorscale','log')
colorbar(axes1);
c = colorbar;
colormap(parula(15));
c.Label.String = 'Nonlinearity parameter';
set(c, 'ylim', [0 10])
xticks([1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21])
xlim([1 21])
xticklabels({'','',5,'',10,'',15,'',20,'',25,'',30,'',35,'',40,'',45,'',50})
yticks([1 2 3])
ylim([1 3])
yticklabels({'0','5','10'})
xlabel('X-direction [mm]')
ylabel('Y-direction [mm]')
Any Idea?
Accepted Answer
More Answers (0)
Categories
Find more on Colorbar in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
