import numpy as np from scipy.stats import pearsonr import matplotlib.pyplot as plt import seaborn as sns # Generating data points np.random.seed(42) # For reproducibility hours_studied = np.random.randint(8, 25, size=50) exam_scores = 60 + 2 * hours_studied + np.random.normal(0, 5, size=50) # Calculate Pearson correlation coefficient pearson_corr, _ = pearsonr(hours_studied, exam_scores) # Calculate Pearson correlation line coefficients m, b = np.polyfit(hours_studied, exam_scores, 1) # Fit a linear regression line # Scatter plot fig, ax = plt.subplots() ax.scatter(hours_studied, exam_scores, color=sns.color_palette("hls",24)[14], alpha=.9, label='Data points') plt.plot(hours_studied, m * np.array(hours_studied) + b, color='red', alpha=.6, label='Pearson Correlation Line') plt.title("Hours Studied vs. Exam Scores") plt.xlabel("Hours Studied") plt.ylabel("Exam Scores") plt.legend(loc='lower right') ax.spines['top'].set_visible(False) ax.spines['bottom'].set_visible(False) ax.spines['right'].set_visible(False) ax.spines['left'].set_visible(False) ax.xaxis.set_ticks_position('none') ax.yaxis.set_ticks_position('none')