Excelデータ### 前提・実現したいこと
Excel上のデータ(左表)を使用して右図のような図が書きたいです(64行分全て)。
ある期間に対するサンプルの値がA列(Average)に表示されており、
その期間がB列(開始時間)、C列(終了時間)に記されています。
発生している問題・エラーメッセージ
1つだけのAverage(A列)に対するグラフはできるのですが、
複数の行に対するグラフを書くことが出来ません。
該当のソースコード
python
1import matplotlib as mpl 2import matplotlib.pyplot as plt 3import numpy as np 4import pandas as pd 5import datetime 6import matplotlib.dates as mdates 7import openpyxl 8 9wb = openpyxl.load_workbook("Ren1.xlsx") 10ws = wb["Sheet1"] 11 12header_cells = ws[1] 13 14student_list = [] 15for row in ws.iter_rows(min_row=3): 16 row_dic = {} 17 for k, v in zip(header_cells, row): 18 row_dic[k.value] = v.value 19 student_list.append(row_dic) 20 21AV = [] 22for student in student_list: 23 AV.append(student["Average"]) 24 25start = [] 26for student in student_list: 27 start.append(student["Start time"]) 28 29stop = [] 30for student in student_list: 31 stop.append(student["Stop time"]) 32 33A3 = int(start[3]) 34B3 = int(stop[3]) 35C3 = int(AV[3]) 36x = np.arange(A, B, 0.1) 37y = np.arange(-10, 10, 0.1) 38plt.ylim([-20, 20]) 39plt.xlim([-20, 20]) 40y = x + C - x 41plt.plot(x, y) 42plt.show()
試したこと
A3,B3,C3のような内容を60行近く書けばできるのですが、
もっといい方法はないでしょうか
補足情報(FW/ツールのバージョンなど)
python
ここにより詳細な情報を記載してください。![イメージ説明](af4555937cfbf0de9f92e0782c3png)
回答1件
あなたの回答
tips
プレビュー