有没有办法用不同(交替)高度绘制轴值?

时间:2013-07-26 16:41:09

标签: matlab plot

我喜欢在MATLAB中绘制一个经过傅里叶变换的信号。 通过set(gca,'xtick',peak,'FontSize',12);我可以在x轴显示峰值。 但有时候,峰值距离过近,显示峰值的文本与其邻居合并在一起。我在网上搜索过,但可能会问错误的问题:) 所以我的问题是: 如何绘制交替高度的峰值,如下图所示? 我更喜欢使用1 x轴。

enter image description here

感谢您的帮助! :)

1 个答案:

答案 0 :(得分:7)

+1这个有趣的问题。

这是一种方法,可能不是最优雅的,但显示逻辑并实现它:

x=0:pi/10:pi;
plot(x,sin(x));

set(gca, 'XTick', x, 'XTickLabel', cell(numel(x),1));
yl=get(gca,'YLim');
for n=1:numel(x)
    if mod(n,2)
       text(x(n), yl(1), {num2str(x(n)),''},'HorizontalAlignment','Center','VerticalAlignment','Top');
    else
       text(x(n), yl(1), {'',num2str(x(n))},'HorizontalAlignment','Center','VerticalAlignment','Top');
    end
end

enter image description here

使用various text properties更改字体大小或文字格式等...