2016-04-03 101 views
2

我正在嘗試一些非常簡單的事情,我敢肯定錯誤是愚蠢的,所以提前道歉。熊貓的seaborn tsplot問題

這裏是整個代碼:

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

CrizWT = 134.2 
CrizWT2 = 199.4 

df = pd.DataFrame(columns = ('IC50', 'Cell line', 'Drug', 'Time point')) 

df = df.append(pd.DataFrame([ [(4673/CrizWT), 'line 2', 'Criz', 1], \ 
           [(919/CrizWT), 'line 2', 'Criz', 3], \ 
           [(975.5/CrizWT), 'line 2', 'Criz', 7], \ 
           [(164.2/CrizWT), 'line 2', 'Criz', 14], \ 
           [(126.8/CrizWT), 'line 2', 'Criz', 21], \ 
           [(2474/CrizWT), 'line 8', 'Criz', 1], \ 
           [(565.8/CrizWT), 'line 8', 'Criz', 7], \ 
           [(1368/CrizWT), 'line 8', 'Criz', 14], \ 
           [(299.1/CrizWT), 'line 8', 'Criz', 21], \ 
           [(395.5/CrizWT2), 'line 1', 'Criz', 1], \ 
           [(2071/CrizWT2), 'line 1', 'Criz', 3], \ 
           [(338.4/CrizWT2), 'line 1', 'Criz', 7], \ 
           [(322.8/CrizWT2), 'line 1', 'Criz', 14], \ 
           [(259.9/CrizWT2), 'line 1', 'Criz', 21], \ 
           [(483.1/CrizWT2), 'line 3', 'Criz', 1], \ 
           [(539.6/CrizWT2), 'line 3', 'Criz', 3], \ 
           [(231.3/CrizWT2), 'line 3', 'Criz', 7], \ 
           [(215.5/CrizWT2), 'line 3', 'Criz', 14], \ 
           [(291.5/CrizWT2), 'line 3', 'Criz', 21]], \ 
           columns = ('IC50', 'Cell line', 'Drug', 'Time point'))) 

print(df) 
sns.tsplot(time = 'Time point', value = 'IC50', condition = 'Cell line', data = df) 
plt.show() 

當我打印數據幀,它看起來罰款:

  IC50 Cell line Drug Time point 
0 34.821162 line 2 Criz   1 
1 6.847988 line 2 Criz   3 
2 7.269001 line 2 Criz   7 
3 1.223547 line 2 Criz   14 
4 0.944858 line 2 Criz   21 
5 18.435171 line 8 Criz   1 
6 4.216095 line 8 Criz   7 
7 10.193741 line 8 Criz   14 
8 2.228763 line 8 Criz   21 
9 1.983450 line 1 Criz   1 
10 10.386158 line 1 Criz   3 
11 1.697091 line 1 Criz   7 
12 1.618857 line 1 Criz   14 
13 1.303410 line 1 Criz   21 
14 2.422768 line 3 Criz   1 
15 2.706118 line 3 Criz   3 
16 1.159980 line 3 Criz   7 
17 1.080742 line 3 Criz   14 
18 1.461886 line 3 Criz   21 

但seaborn tsplot是空的! (軸標記正確,但沒有繪圖)。

想法?

熊貓/海鷗的學習曲線仍在繼續。

回答

2

我不是seaborn的專家,但我看到2個問題與您的數據:

  1. 你在5個時刻的樣本數據,但你必須在你的 數據幀19行。對於line 8time point = 3測量缺少

  2. Seaborn的tsplot是爲了顯示不確定性,所以我相信你應該在你的 sns.tsplot()使用參數unit,不condition

在您糾正這些問題,你就會有一個很好的格式化的情節如下:

dx = pd.concat([df, 
pd.DataFrame({'IC50':10.386158,'Cell line':'line 8','Drug':'Criz','Time point':3.0}, index=[19])], axis=0) 
sns.tsplot(data = dx, time = 'Time point', value = 'IC50', unit="Cell line"); 

enter image description here