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

时间:2014-11-14 07:56:36

标签: matlab matlab-figure

如何将无穷大符号添加到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

Image showing problem

1 个答案:

答案 0 :(得分:4)

使用文件交换中的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'})

enter image description here

我遗漏了xlabel,因为它干扰了Xtick,但可能很容易移到较低位置。

修改 要修复Xtickxlabel的重叠,请将其添加到代码的末尾:

xlabh = get(gca,'XLabel');
set(xlabh,'Position',get(xlabh,'Position') - [0 .1 0])

enter image description here