簡體   English   中英

如何使用Matplotlib繪制周期數據

[英]How to plot periodic data with matplotlib

我的數據記錄系統的中心值為[0,10,20,... 350],並且假定從中心點均勻地收集數據。 因此,我想繪制以這種方式合並的直方圖:[-5,5],[5,15],[15,25] ... [345,355]。

問題在於,數據存儲在[0,360]中,這會使初始和結束扇區僅占數據的一半。

簡而言之,當我要繪制[-5,5]的數據時,繪制的實際數據只有大小的一半 ,因為[-5,5]被分為[0,5]和[355,360]。 你可以看一下0355下面的PIC箱。

bins=np.arange(-5, 360 + 10, 10)
df['dir'].hist(bins=bins, alpha=0.5, figsize=(15, 3))

在此處輸入圖片說明

我的問題是:

  1. 什么是繪制循環數據的好方法,那么我可以解決half size問題?
  2. 該地塊的emply扇區從-50開始,是否有辦法擺脫它?

1:如果您不希望Roadrunner建議使用漂亮的極坐標圖,而是希望保留線性條形圖,則應將0值> 355分配給0 bin,例如,

wrapped = np.array(df['dir'])
wrapped[wrapped > 355] = 0
plt.hist(wrapped, bins=np.arange(0,370,10), align='left')

(align ='left'從-5..5、5..15等繪制您的垃圾箱,給定的數據值范圍為0..355)

2:現在使用以下方法消除左側的不需要的空間:

plt.axis('tight')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM