2013-07-26 34 views
6

Tôi thích âm mưu trong MATLAB một tín hiệu biến đổi ô nhiễm. Thông qua tập hợp (gca, 'xtick', peaks, 'FontSize', 12); tôi có thể hiển thị các giá trị đỉnh tại trục x. Nhưng đôi khi, các đỉnh quá gần nhau và văn bản hiển thị các giá trị đỉnh là hợp nhất với các nước láng giềng. Tôi đã tìm kiếm trên web, nhưng có thể đã đặt câu hỏi sai :) Vì vậy, câu hỏi của tôi là: Làm cách nào để vẽ các đỉnh có chiều cao xen kẽ, như được hiển thị trong hình bên dưới? Tôi thích sử dụng 1 trục x.Có cách nào để vẽ giá trị trục với chiều cao khác nhau (xen kẽ) không?

enter image description here

Cảm ơn sự giúp đỡ của bạn! :)

Trả lời

7

+1 cho câu hỏi thú vị.

Đây là một cách để làm điều đó, có lẽ không phải là thanh lịch nhất, nhưng cho thấy sự logic và làm cho nó xảy ra:

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 

enter image description here

Sử dụng various text properties để thay đổi kích thước font chữ, hoặc định dạng văn bản vv ...

+0

Wow! Cảm ơn bạn vì câu trả lời nhanh chóng và đáng tin cậy! – Aureon

+0

:), đừng lo! – bla

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