如何在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
,但可能很容易将其移至较低位置。编辑:
要修复
Xtick
和xlabel
的重叠,请将其添加到代码末尾:xlabh = get(gca,'XLabel');
set(xlabh,'Position',get(xlabh,'Position') - [0 .1 0])