如何在Matlab中每十年写一个对数图中的文本

时间:2015-03-06 18:35:05

标签: matlab plot logarithm

我需要在每个十年中写一个不同的数字,在对数图的底部或顶部。

我在数组N中有这些数字。有一种方法可以自动化这个过程而不需要为每个十年写一个for循环吗?

每十年有9个数字,如果我有两三十年,怎么写:

for i = 1:18
   text(x(i), y, num2str(N(i)));
end

其中,y永不改变,N(i)是我的号码,x(i)他们的位置我正在寻找

This is an example of my plots 我想在橙色框中(或在顶部)放入黑点的数量。

1 个答案:

答案 0 :(得分:2)

编辑:我可能误解了你的问题。一种解释是使用xticks(下面解释)。另一种是放置文字。

如果您想要做的只是将文本放在不同的位置,那么text也会接受向量,这很简单。

x = 0:1:5;
y = x;
plot(x,y);
text(x+0.25,0.5*ones(6,1),{'One','Two','Three','Four','Five','Six'})

的产率:

enter image description here


除非您特别想要定位标签,否则我建议您使用xticks

例如:

y = 0:1:5;
x = exp(-y.^2);
semilogx(x,y);
set(gca,'XTickLabel',{'One','Two','Three','Four','Five','Six'})

给出: enter image description here