如何在Matlab条形图的X轴上添加无穷大符号?

自然地,可以插入无穷大符号,即xlabel的'\infty',如插入代码的最后一行所示。
但是,我想在x轴栏中而不是x轴标签中添加无穷大符号。
我怎样才能做到这一点?
为了详细说明起见,下面添加了以下脚本:

data=[1 2 3; 1 3 4; 3 1 2];
bar(data)
set(gca,'YLim',[0 3])
set(gca,'YTick',[0:0.5:3])
set(gca, 'YTickLabel',num2str(get(gca,'YTick')','%02.1f%%'))
set(gca,'Xtick',1:3,'XTickLabel',{'\infty' ; '20 dB'; '15 dB'})
xlabel('\infty dB') % x-axis label

最佳答案

使用文件交换中的 format_tick 函数如何解决此问题?:

data=[1 2 3; 1 3 4; 3 1 2];
bar(data)
set(gca,'YLim',[0 3])
set(gca,'YTick',[0:0.5:3])
set(gca, 'YTickLabel',num2str(get(gca,'YTick')','%02.1f%%'))
set(gca,'Xtick',1:3)
format_ticks(gca, {'$\infty$' ; '20 dB'; '15 dB'})

我省略了xlabel,因为它干扰了Xtick,但可能很容易将其移至较低位置。

编辑:
要修复Xtickxlabel的重叠,请将其添加到代码末尾:
xlabh = get(gca,'XLabel');
set(xlabh,'Position',get(xlabh,'Position') - [0 .1 0])

10-04 14:45