File size: 1,616 Bytes
825e978
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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()