Data Visualization Examples#
This page shows how to visualize economic data retrieved with FedFred using popular Python libraries like Matplotlib, Seaborn, and GeoPandas. FedFred integrates seamlessly with visualization tools, enabling clear insights from FRED® data.
—
Line Plot with Matplotlib
Plot a basic time series using matplotlib.pyplot
.
import matplotlib.pyplot as plt
import fedfred as fd
fred = fd.FredAPI(api_key="your_api_key_here")
data = fred.get_series_observations("GDP")
plt.figure(figsize=(10, 6))
plt.plot(data.index, data.values, 'b-', linewidth=2)
plt.title("GDP Time Series")
plt.xlabel("Date")
plt.ylabel("Value")
plt.grid(True, alpha=0.3)
plt.tight_layout()
plt.xticks(rotation=45)
plt.show()
Bar Plot by Category
Compare the popularity of series within a category.
import matplotlib.pyplot as plt
import fedfred as fd
fred = fd.FredAPI(api_key="your_api_key_here")
series = fred.get_category_series(category_id=125)
names = [s.title for s in series]
values = [s.popularity for s in series]
plt.figure(figsize=(12, 6))
plt.bar(names, values, color='skyblue')
plt.title("Category Series Popularity")
plt.xlabel("Series")
plt.ylabel("Popularity")
plt.xticks(rotation=45, ha='right')
plt.tight_layout()
plt.show()
—
Advanced Visualizations#
Correlation Heatmap (Seaborn)
Visualize correlations between key indicators like GDP, Unemployment, and Inflation.
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
import fedfred as fd
fred = fd.FredAPI(api_key="your_api_key_here")
ids = ["GDP", "UNRATE", "CPIAUCSL"]
dfs = [fred.get_series_observations(sid) for sid in ids]
df = pd.concat(dfs, axis=1)
df.columns = ids
corr = df.corr()
plt.figure(figsize=(8, 6))
sns.heatmap(corr, annot=True, cmap="coolwarm", fmt=".2f")
plt.title("Correlation Heatmap of Economic Indicators")
plt.show()
Geographic Visualization (GeoPandas)
Map unemployment rates by U.S. state using geopandas
.
import geopandas as gpd
import fedfred as fd
import matplotlib.pyplot as plt
fred_maps = fd.FredAPI(api_key="your_api_key_here").Maps
gdf = fred_maps.get_regional_data(
series_group="unemployment",
region_type="state",
date="2023-01-01",
season="nsa",
units="percent"
)
gdf.plot(
column="value",
cmap="OrRd",
legend=True,
figsize=(12, 8),
edgecolor="black"
)
plt.title("Unemployment Rates by State (January 2023)")
plt.show()
—