在matlab中删除semilogx图的x轴上的小刻度

时间:2016-04-07 16:40:48

标签: matlab matlab-figure

以下是代码

的示例
x = 0:1000;
y = log(x);
semilogx(x,y)

semilogx picture

我想删除x轴上10 ^ 0到10 ^ 1之间的小刻度线。

我试过了:

set(gca,'XminorTick','off')

但它无效

2 个答案:

答案 0 :(得分:1)

有充分的理由真的没有办法做到这一点。最好明确将对数比例用于绘图。

如果您真的想要,最简单的方法是对数据执行日志转换并以常规线性比例绘制它。然后指定自定义刻度标签,使其显示为对数刻度。

%// Plot after performing log transform of your xdata
plot(log10(x), y)

%// Tick locations
ticks = 0:3;

%// Create custom tick labels
labels = arrayfun(@(x)sprintf('10^%d', x), ticks, 'uni', 0);

%// Update the ticks and ticklabels
set(gca, 'xtick', ticks, 'XTickLabels', labels)

enter image description here

答案 1 :(得分:-1)

read_vectoredm必须为大写字母。

o

这在Semilogx图中对我有用。