2015-11-20 56 views
1

我正在嘗試爲大約20個樣本顯示一組頻率範圍。我想要做的是一個水平條形圖,每行代表一個樣本。示例名稱應該在左側和右側,我想要一個x軸限制0和150 kHz。不從零開始/顯示範圍的水平條形圖

現在我有的範圍是類似(70.5,95.5)。我可以通過水平條形圖來實現這一點嗎,還是我正在尋找其他類型的圖表?

對不起,我不能提供一個例子,因爲我到目前爲止一無所獲。條形圖只是沒有做我想要的。

編輯:我基本上想要在this example之類的東西,但沒有實際的酒吧,並能夠輸入我的數據的錯誤欄。據我所知,錯誤欄只能處理與「主要數據」相關的錯誤。

回答

2

如果我理解正確的話,你可以用一個簡單的errorbar情節做到這一點(雖然這是一個黑客位的):

import numpy as np 
import matplotlib.pyplot as plt 

# 20 random samples 
nsamples = 20 
xmin, xmax = 0, 150 
samples = np.random.random_sample((nsamples,2)) * (xmax-xmin) + xmin 
samples.sort(axis=1) 
means = np.mean(samples, axis=1) 
# Find the length of the errorbar each side of the mean 
half_range = samples[:,1] - means 
# Plot without markers and customize the errorbar 
_, caps, _ = plt.errorbar(means, np.arange(nsamples)+1, xerr=half_range, ls='', 
          elinewidth=3, capsize=5) 
for cap in caps: 
    cap.set_markeredgewidth(3) 

# Set the y-range so we can see all the errorbars clearly 
plt.ylim(0, nsamples+1) 
plt.show() 

enter image description here

+0

謝謝你這麼多,我覺得這是什麼我需要。如果遇到問題,我會回到這裏。 – Ian