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

谢谢您的帮助!:)
为有趣的问题+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
Run Code Online (Sandbox Code Playgroud)

使用各种文本属性来更改字体大小或文本格式等...