我想將顏色條的刻度設定為對數刻度,帶有簡單易讀的刻度:2 3 4 5 6 7 8 9 10 20 30(而不僅僅是“10^0”、“10^1”);
例如我這樣做:
x = linspace(0,0.9);
y=logspace(-1,1);
[X,Y] = meshgrid(x,y);
Z = 220 *sqrt((1-X).*Y); %just random function(x,y)
[M,c]= contourf(X,Y,Z,100);
c.LineColor = 'none';
set(gca,'ColorScale','log')
cl=colorbar;
ylabel(cl, 'color')
cl.Ticks=[ 2 3 4 5 6 7 8 9 10 20 30];
cl.TickLabels = num2cell([ 2 3 4 5 6 7 8 9 10 20 30]);
它不會那樣作業。怎么做?
uj5u.com熱心網友回復:
您的代碼運行良好且符合預期。如果您檢查顏色條,下限值是 22,因此您只能看到最后一個標簽。
x = linspace(0,0.9);
y=logspace(-1,1);
[X,Y] = meshgrid(x,y);
Z = 220 *sqrt((1-X).*Y); %just random function(x,y)
[M,c]= contourf(X,Y,Z,100);
c.LineColor = 'none';
set(gca,'ColorScale','log')
cl=colorbar;
ylabel(cl, 'color')
cl.Limits=[2 cl.Limits(2)] % change the range
cl.Ticks=[ 2 3 4 5 6 7 8 9 10 20 30];
cl.TickLabels = num2cell([ 2 3 4 5 6 7 8 9 10 20 30]);

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/363970.html
下一篇:復數中實部最小的數的索引
