csvファイルから出力した2次元配列において、最大値がその行の2番目に大きい値の2倍を超える行に対して、
グラフのタイトルに「その行の0番目の要素(この場合"A"から"F"まで)」
x軸に「1行目の文字列(この場合"One"から"Five"まで)」,
y軸に「最大値」
として表示させたグラフを2*3に並べようとして以下のコードを書いた所、ファイルにある6つの行のグラフが6箇所に1回ずつ、計36個のグラフが出力されてしまいました。
どうにかして6つのグラフを一つの画面にまとめたいです。(下記画像参照)
現状
理想の出力
お知恵をお貸しいただけますと幸いです。宜しくお願いします。
コード
comp.py
1import pandas as pd 2import numpy as np 3import matplotlib.pyplot as plt 4 5df = pd.read_csv('renshu.csv', index_col='Name') 6for idx, row in df.iterrows(): 7 tmp = row.sort_values(ascending=False) 8 for i in range(0,6): 9 if tmp.iloc[0] >= tmp.iloc[1] * 2: 10 plt.subplot(2,3,i+1) 11 plt.bar(df.columns, row.values.tolist(), align="center", width=1.0,tick_label=df.columns) 12 plt.xticks(rotation=85) 13 plt.title('Name: %s' % idx) 14 plt.suptitle('Title: 条件を満たす行とその分布', fontsize=12) 15 plt.show()
ファイル
renshu.csv
1Name,One,Two,Three,Four,Five 2A,3,3,14,4,2 3B,3,16,2,4,5 4C,3,2,12,4,3 5D,2,4,5,14,6 6E,4,3,5,12,4 7F,10,2,3,4,2
補足情報(FW/ツールのバージョンなど)
iOS 10.14.6, Python 3.7.4, Atom
回答1件
あなたの回答
tips
プレビュー