Set Square root axis scale
5 ビュー (過去 30 日間)
古いコメントを表示
How can I set the y axis scale to the square root as this graph here? I tried set(gca, 'yscale', 'lsqrt') but it didnt work!!!
thanks in advance

0 件のコメント
採用された回答
Star Strider
2021 年 2 月 5 日
Experiment with this approach to get the result you want:
x = 0:100;
y = rand(size(x))*512;
figure
plot(x, y, '.')
grid
yt = [0 2.^(0:ceil(log2(max(y))))];
set(gca, 'YTick',yt, 'YScale','log')
.
2 件のコメント
Star Strider
2021 年 2 月 5 日
As always, my pleasure!
I am not certain how to interpret the rest of your Comment. If you want to limit the y-axis to the next power of 2 that is greater than the maximum value of your data, the nextpow2 function can likely do what you want. (I did not use it in my posted code because I was not certain what the eventual desired result would be.)
Also, experiment with omitting (turning off) the minor ticks and associated minor grid lines, if you do not want them to be displayed:
set(gca, 'YTick',yt, 'YScale','log', 'YMinorTick','off', 'YMinorGrid','off')
.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Axes Appearance についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
