2014-11-14 15 views
5

Làm cách nào để thêm biểu tượng vô hạn vào trục X của biểu đồ Matlab Bar?Làm thế nào để chèn biểu tượng vô cực vào trục X của biểu đồ Matlab Bar?

Đương nhiên, có thể chèn biểu tượng vô hạn tức là '\infty' cho xlabel, như được thấy ở dòng cuối cùng của mã được chèn.
Nhưng, tôi muốn thêm dấu vô hạn vào thanh trục x không nằm trong nhãn trục x.
Tôi có thể làm như thế nào? Vì mục đích làm rõ chi tiết, kịch bản sau đây được bổ sung dưới đây:

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

Bạn đã thấy điều này [câu hỏi liên quan] (http: // www.mathworks.com/matlabcentral/newsreader/view_thread/164483)? Nó có thể hữu ích. – Arpi

+0

Xin lỗi, Điều đó không có tác dụng đối với trường hợp trên. @Arpi – mohsen

Trả lời

4

Làm thế nào về giải pháp này, sử dụng chức năng format_tick từ Exchange file ?:

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

Tôi đã thoát khỏi số xlabel vì nó tương thích với Xtick, nhưng có lẽ có thể dễ dàng di chuyển đến vị trí thấp hơn.

EDIT: Để khắc phục sự chồng chéo của Xtickxlabel thêm video này vào cuối của mã:

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

enter image description here

+0

Cảm ơn giải pháp của bạn @arpi – mohsen

+1

Rất tốt, cảm ơn bạn. – Rashid

+1

@mohsen Bạn được chào đón. Tôi đã mở rộng câu trả lời bằng mã sửa lỗi vấn đề trùng lặp. – Arpi

Các vấn đề liên quan