2011-11-14 153 views
1

想要繪製的0和1的信號的功能,很像給予以下問題的解決方案的功能: How to plot non-numeric data in Matplotlib繪製步驟(分段)與垂直線

然而,我想有垂直線而不是在函數從0變爲1時彎曲的。所以,例如,如果f(x)= 0(對於x = 1 2 3 4且f(x)= 1,那麼我想在y = 0處有一條水平線最多x = 5,從y = 0到y = 1的x = 5的垂直線,然後y = 1的水平線

這可以在plot函數內完成嗎?或者我需要畫一大堆廣場?

謝謝!

回答

0

您是否試過stairs函數?

+1

我其實是有一個matplotlib的問題 - 不知道爲什麼MATLAB來作爲關鍵字。但是當我尋找相當於'樓梯'的matplotlib時,你仍然讓我走向正確的方向。 解決方案是在劇情參數 – alex314159

+0

的drawstyle ='steps'歡迎您:) – kol

+0

@ user1045479:請查看:http://sourceforge.net/mailarchive/message.php?msg_id=27036226 – Amro

4

您可以使用stairsarea函數。如圖所示here

%# Sample input 
x = 1:10; 
y = [0 0 0 0 1 1 1 1 1 1]; 

subplot(2,1,1) 
stairs(x,y) 
title('Stairs chart (non area)') 

subplot(2,1,2) 
x = [x;x]; 
y = [y;y]; 
area(x([2:end end]),y(1:end)) 
title('Stairs area') 

Stairs with area