2017-03-21 14 views
1

単純なコマンドを使用して、Excelデータのグラフをいくつかプロットする必要があります。私のエクセルデータには20列と9000行が含まれています。まず、第4列から第20列を選択したいと思います。次に、1つのページに16のグラフをプロットしたいと思います。次のコードでは、手動で列を選択し、サブプロットを定義することでそれを実行できます。しかし、私はシンプルなコマンドでそれをやりたい(例えば、私は手動ですべての軸を定義する必要はありません)Pythonの同じページにExcelデータのグラフをいくつかプロットする方法

import pandas as pd 
df = pd.read_excel('file.xlsx') 


fig = plt.figure() 
ax1 = fig.add_subplot(211) 
ax1.plot(df['Column4']) 
ax2 = fig.add_subplot(212) 
ax2.plot(df['Column5']) 
ax3 = fig.add_subplot(223) 
ax3.plot(df['Column6']) 
ax4 = fig.add_subplot(224) 
ax4.plot(df['Column7']) 
for i in range(3): 
    plt.subplot(2,2,i+1) 

あなたは、私はそれを行うことができます方法についてのアイデアを持っていますか?前もって感謝します。

答えて

2

複雑なグラフを作成する場合は、おそらく、pandasではなくmatplotlib APIを直接呼び出すことをお勧めします。

import pandas as pd 
from matplotlib import pyplot as plt 

df = pd.read_excel('file.xlsx') 
fig, axes = plt.subplots(rows=4, cols=4, figsize=(12,12)) 
data_cols = df.columns[3:19] 

# iterate over pairs of data columns and plot axes 
for data_col, ax in zip(data_cols, axes.ravel()): 
    ax.plot(df[data_col]) 
+0

@Jamesさん、ありがとうございました。本当に効果がありました。私は何かを追加したいのですが、このサブプロットにどのように字幕を追加できますか?字幕は列のタイトルになります。 – OykuA

関連する問題