2017-05-27 36 views
0

我想從10488行vs 3列的數據框在matplotlib中創建線圖。我的數據幀如下所示:matplotlib來自數據幀的線圖

  col_A col_B col_C 
target_id   
KYQ35740 22.67 19.7 26.0 
KYQ35675 9.21 3.2 3.1 
KYQ35736 73.93 42.8 24.6 
KYQ35737 349.94 602.6 212.4 
KYQ35685 16.10 19.5 29.1 

這裏,target id是索引。我做的試驗是:

import pandas as pd 
import matplotlib.pyplot as plt 
plt.style.use('ggplot') 
%matplotlib inline 

df = pd.read_csv("Data.txt", sep='\t', index_col=['target_id'])  
df.plot() 

我得到一個條形圖,包含x軸上的目標ID和三個代表每列的彩條。但是,我需要製作它的轉置。即col_A,col_B,col_C在x軸上標記帶有穿過系列的10488行的繪圖。我不需要圖例中的target_ids。

我試着用df.T和df.plot()轉置df。但系統掛起,我認爲是由於10488標籤需要放入圖例?!

在此先感謝您的幫助。

AP

+0

對不起,我不明白所產生的劇情應該是什麼樣子等。 *「用10488行標記的系列」*是什麼意思?我知道你想在x軸上有三個類別col_A,.. col_C。但是,積分應該如何表示? – ImportanceOfBeingErnest

回答

1

如果你想擺脫的傳說,你可以使用legend=False

import pandas as pd 
import io 
import matplotlib.pyplot as plt 

u = u"""target_id col_A col_B col_C   
KYQ35740 22.67 19.7 26.0 
KYQ35675 9.21 3.2 3.1 
KYQ35736 73.93 42.8 24.6 
KYQ35737 349.94 602.6 212.4 
KYQ35685 16.10 19.5 29.1""" 

df = pd.read_csv(io.StringIO(u), delim_whitespace=True,index_col=['target_id']) 
df=df.T 

df.plot(legend=False) 
plt.show() 

enter image description here

相關問題