2014-06-27 114 views
0

我想創建一個像this圖像上部的可視化。本質上,每個時間點都有固定數量的組件,但這些組件通過標籤(我可以提供)錨定到y軸,而不是熱圖矩陣中的第一個索引。不同y軸的熱圖

我知道pcolormesh,但這似乎並沒有給我我所尋找的y軸功能。

最後,我也接受R中的解決方案,但Python選項將是,更可取

+0

有一個大的圖像做它與NaN的填補了非着色區 – tacaswell

回答

1

我不完全確定,如果我理解你的意思是正確的,但通過查看你已經鏈接的圖片,你可能最好用自己的解決方案。

首先,您需要使用熱圖值創建一個數組,以便每個標籤都有一行,每個時隙都有一列。用nans填充數組,然後將任何熱圖值寫入正確的位置。

然後你需要欺騙imshow有點縮放和以正確的方式顯示圖像。

例如:

# create some masked data 
a=cumsum(random.random((20,200)), axis=0) 
X,Y=meshgrid(arange(a.shape[1]),arange(a.shape[0])) 
a[Y<15*sin(X/50.)]=nan 
a[Y>10+15*sin(X/50.)]=nan 

# draw the image along with some curves 
imshow(a,interpolation='nearest',origin='lower',extent=[-2,2,0,3]) 
xd = linspace(-2, 2, 200) 
yd = 1 + .1 * cumsum(random.random(200)-.5) 
plot(xd, yd,'w',linewidth=3) 
plot(xd, yd,'k',linewidth=1) 
axis('normal') 

給出:

enter image description here

+0

謝謝,用我設法得到細微調整這正是我所需要的! – em70