有没有一种方法可以绘制轴值具有不同(交替)高度的图形?

6
我希望在MATLAB中绘制一个傅里叶变换的信号。使用set(gca,'xtick',peaks,'FontSize',12);可以在x轴上显示峰值。但有时,峰值太靠近了,显示峰值的文本会与相邻的文本混合在一起。我已经在网上搜索过,但可能问错了问题:) 所以我的问题是: 如何绘制交替高度的峰值,如下图所示? 我更喜欢使用1个x轴。

enter image description here

谢谢你的帮助! :)
1个回答

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

这里输入图片描述

使用不同的文本属性,可以改变字体大小、文本格式等等...


哇!感谢您快速而可靠的回答! - Aureon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接