import pandas as pd import matplotlib.pyplot as plt import os def generate_graphs(csv_path, output_dir): df = pd.read_csv(csv_path) os.makedirs(output_dir, exist_ok=True) # Graph 1: Line plot of Open vs Close plt.figure(figsize=(6, 4)) plt.plot(df['Open'], label='Open', color='blue') plt.plot(df['Close'], label='Close', color='green') plt.title('Open vs Close Price') plt.xlabel('Index') plt.ylabel('Price') plt.legend() plt.tight_layout() plt.savefig(os.path.join(output_dir, 'open_close.png')) plt.close() # Graph 2: Scatter plot of RSI vs MACD plt.figure(figsize=(6, 4)) plt.scatter(df['RSI'], df['MACD'], alpha=0.7, color='purple') plt.title('RSI vs MACD') plt.xlabel('RSI') plt.ylabel('MACD') plt.tight_layout() plt.savefig(os.path.join(output_dir, 'rsi_macd.png')) plt.close() # Graph 3: Bar chart of average Volume (chunked) volume_avg = df['Volume'].head(10) # Bar chart for first 10 plt.figure(figsize=(6, 4)) plt.bar(volume_avg.index, volume_avg.values, color='orange') plt.title('Average Volume (First 10)') plt.xlabel('Index') plt.ylabel('Volume') plt.tight_layout() plt.savefig(os.path.join(output_dir, 'volume_bar.png')) plt.close() # Graph 4: Histogram of Target values plt.figure(figsize=(6, 4)) plt.hist(df['Target'], bins=10, color='red', alpha=0.8) plt.title('Distribution of Target') plt.xlabel('Target Value') plt.ylabel('Frequency') plt.tight_layout() plt.savefig(os.path.join(output_dir, 'target_hist.png')) plt.close()