#TotalEnergy.csvを変数infileに入れ、infileの1行目をリストlabels、2行目以降を2次元リストdata_listに読み込む
#data_listの1列目をリストx、2列目をリストyに代入し、x,yをプロットする
import matplotlib.pyplot as plt
import csv
#matplotlibをインポート


infile = 'TotalEnergy.csv'

figsize = (12, 6)
fontsize = 16
figfile = 'plot.png'


def pfloat(s, defval = None):
    try:
        return float(s)
    except:
        return defval
    
labels = None
data_list = []
x = []
y = []
with open(infile, 'r') as f:
    reader = csv.reader(f)
    labels = next(reader)
    for row in reader:
        v = [pfloat(d, d) for d in row]
        data_list.append(v)

#data_listの転置を取って、data_listに代入
data_list = list(map(list, zip(*data_list)))
PP_list = data_list[0]
Eg_list = data_list[19]
a_list  = data_list[21]
#print("Eg=", Eg_list)
#print("a=", a_list)

fig, ax = plt.subplots(figsize = figsize)
ax.tick_params(labelsize = fontsize)
plt.xticks(rotation = 90.0)

ax.plot(PP_list, Eg_list, linestyle = '', marker = 'o')

ax.set_ylabel(r'$E_g$ (eV)', fontsize = fontsize)

plt.tight_layout()
plt.savefig(figfile)
plt.show()

