Scatter graph, with median and percentile plots, displaying Obama's approval ratings from 2008 to 2017, using data imported from a CSV file. This was formatted for Jupyter Notebook.
import pandas as pd from matplotlib import pyplot as plt
data = pd.read_csv('obama.csv', parse_dates=['year_month'])
data.head()
plt.plot(data.year_month, data.approve_percent, 'o', markersize=2, alpha=0.3) plt.show()
data.groupby('year_month').mean()
data_mean = data.groupby('year_month').mean()
data_median = data.groupby('year_month').median()
plt.plot(data_mean.index,data_mean.approve_percent, 'red')
plt.plot(data_median.index, data_median.approve_percent, 'green')
plt.legend(['Mean', 'Median'])
plt.plot(data.year_month, data.approve_percent, 'o', markersize=2, alpha=0.3)
plt.show()
data_25 = data.groupby('year_month').quantile(0.25) data_75 = data.groupby('year_month').quantile(0.75)
fig = plt.figure(figsize=(18, 12), dpi= 80, facecolor='w', edgecolor='k')
plt.plot(data_75.index, data_75.approve_percent, 'green') plt.plot(data_median.index, data_median.approve_percent, 'red') plt.plot(data_25.index, data_25.approve_percent, 'blue') plt.plot(data.year_month, data.approve_percent, 'o', markersize=2, alpha=0.8)
plt.legend(['75th Percentile', 'Median', '25th Percentile']) plt.xlabel('Y E A R', fontsize='20', color='forestgreen') plt.ylabel('A P P R O V A L %', fontsize='20', color='forestgreen') plt.title('O B A M A 'S A P P R O V A L R A T I N G %', fontsize='28', color='forestgreen') plt.show()