I am following this example.
I have this code:
<code>import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import os
df = pd.read_csv('Test_1.csv',header=0,delimiter="t")
x_col = df[['Ref']]
y_columns = df[['R2SCAN','Ref','TPSS0_D3BJ']]
# Crear las gráficas
for col in y_columns:
plt.figure()
plt.scatter(df["Ref"], df[col])
df = pd.read_csv('Test_2.csv',header=0,delimiter="t")
# Crear las gráficas
for col in y_columns:
# plt.figure()
plt.scatter(df["Ref"], df[col])
plt.xlabel("DLPNO-CCSD(T)/CBS(3,4) [kcal/mol]")
plt.ylabel(f'{col}/6-311G [kcal/mol]')
plt.xlim(0, 8)
plt.ylim(0, 10)
# Añadir líneas horizontales y verticales
X = np.linspace(0, 8, 100)
Y = X + 0.5
Z = X - 0.5
plt.plot(X, Y, 'k--', linewidth=1)
plt.plot(X, X, 'k--', linewidth=1)
plt.plot(X, Z, 'k--', linewidth=1)
plt.fill_between(X, Y, Z, color='grey', alpha=0.25)
plt.grid(color='gray', linestyle='--', linewidth=0.25)
# Crear el directorio si no existe
if not os.path.isdir(col):
os.mkdir(col)
plt.savefig(f'{col}/graph.png', dpi=600)
plt.close() # Cerrar la figura para no sobrecargar la memoria
</code>
<code>import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import os
df = pd.read_csv('Test_1.csv',header=0,delimiter="t")
x_col = df[['Ref']]
y_columns = df[['R2SCAN','Ref','TPSS0_D3BJ']]
# Crear las gráficas
for col in y_columns:
plt.figure()
plt.scatter(df["Ref"], df[col])
df = pd.read_csv('Test_2.csv',header=0,delimiter="t")
# Crear las gráficas
for col in y_columns:
# plt.figure()
plt.scatter(df["Ref"], df[col])
plt.xlabel("DLPNO-CCSD(T)/CBS(3,4) [kcal/mol]")
plt.ylabel(f'{col}/6-311G [kcal/mol]')
plt.xlim(0, 8)
plt.ylim(0, 10)
# Añadir líneas horizontales y verticales
X = np.linspace(0, 8, 100)
Y = X + 0.5
Z = X - 0.5
plt.plot(X, Y, 'k--', linewidth=1)
plt.plot(X, X, 'k--', linewidth=1)
plt.plot(X, Z, 'k--', linewidth=1)
plt.fill_between(X, Y, Z, color='grey', alpha=0.25)
plt.grid(color='gray', linestyle='--', linewidth=0.25)
# Crear el directorio si no existe
if not os.path.isdir(col):
os.mkdir(col)
plt.savefig(f'{col}/graph.png', dpi=600)
plt.close() # Cerrar la figura para no sobrecargar la memoria
</code>
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import os
df = pd.read_csv('Test_1.csv',header=0,delimiter="t")
x_col = df[['Ref']]
y_columns = df[['R2SCAN','Ref','TPSS0_D3BJ']]
# Crear las gráficas
for col in y_columns:
plt.figure()
plt.scatter(df["Ref"], df[col])
df = pd.read_csv('Test_2.csv',header=0,delimiter="t")
# Crear las gráficas
for col in y_columns:
# plt.figure()
plt.scatter(df["Ref"], df[col])
plt.xlabel("DLPNO-CCSD(T)/CBS(3,4) [kcal/mol]")
plt.ylabel(f'{col}/6-311G [kcal/mol]')
plt.xlim(0, 8)
plt.ylim(0, 10)
# Añadir líneas horizontales y verticales
X = np.linspace(0, 8, 100)
Y = X + 0.5
Z = X - 0.5
plt.plot(X, Y, 'k--', linewidth=1)
plt.plot(X, X, 'k--', linewidth=1)
plt.plot(X, Z, 'k--', linewidth=1)
plt.fill_between(X, Y, Z, color='grey', alpha=0.25)
plt.grid(color='gray', linestyle='--', linewidth=0.25)
# Crear el directorio si no existe
if not os.path.isdir(col):
os.mkdir(col)
plt.savefig(f'{col}/graph.png', dpi=600)
plt.close() # Cerrar la figura para no sobrecargar la memoria
I obtain:
But I want:
Where each colour of the legend correspond to a different dataset, e.g. Test_1.csv
, Test_2.csv
and so on…
How can I introduce another dataset into my graphs, generated inside a for-loop?