2017-05-16 15 views
1

時間の経過とともに線形モデルの係数をプロットする必要があります。可変データポイント幅のヒートマップ

私のモデルのi番目の特徴があり、x軸は時間であり、i番目の係数の値は色分けされています。

私の例では、係数は0からt1まで、t1からt2までなど一定です。間隔は等しくない。現在、私はデルタtだけ離れた多くのポイントを作成することによって、これを回避:

import seaborn as sns 
import matplotlib.pyplot as plt 
import numpy as np 

xi1 = [0, 1, 2] 
t1 = range(4) 

xi2 = [1, 1, 2] 
t2 = range(5, 8) 

data= np.vstack([xi1]*len(t1) + [xi2]*len(t2)).T 
sns.heatmap(data) 

enter image description here

(冗長情報を作成せず)より効率的にこれを行う方法はありますか?私は自分のt値に応じて適切なx軸ラベルを持っているようにも考えています。

答えて

2

matplotlib pcolormeshを使用できます。

import matplotlib.pyplot as plt 
import numpy as np 

a = [[0,1],[1,1],[2,2]] 
y = [0,1,2,3] 
x = [0,5,8] 
X,Y = np.meshgrid(x,y) 
Z = np.array(a) 

cmap = plt.get_cmap("RdPu", 3) 
plt.pcolormesh(X,Y,Z, cmap=cmap) 
plt.gca().invert_yaxis() 
plt.colorbar(boundaries=np.arange(-0.5,3), ticks=np.unique(Z)) 
plt.show() 

enter image description here

関連する問題