
Personal Logo & Header Image
Just for fun, I created plots to use as a personal logo and header image on this website. These plots reflect weather data from December 2-6, 2020 in Collingwood, ON (the dates and location of my wedding holiday 🙂 ). Plots were made using seaborn and matplotlib in python.
The logo is a circular bar chat of the temperature for the 24h duration of December 4th, 2020, with each bar indicating the hourly temperature. The bar at 14:00 in light blue indicates the time of my wedding ceremony. As these plots are meant for visual purposes only, they are very uninterpretable on their own.
day_data = pd.read_csv("/Users/rachelforbes/Desktop/collingwood_weather.csv")
day_data.set_index('Time', inplace=True)
# Initialize the figure
plt.figure(figsize=(20,10))
ax = plt.subplot(111, polar=True)
plt.axis('off')
# Input plot layot parameters
upperLimit = 6
lowerLimit = 0
# Compute max Temp value
max = day_data['Temp'].max()
# Compute height of bars
slope = (max - lowerLimit) / max
heights = slope * day_data.Temp + lowerLimit
# Compute the width bars
width = 2*np.pi / len(day_data.index)
# Compute the angle each bar is centered on
indexes = list(range(1, len(day_data.index)+1))
angles = [element * width for element in indexes]
angles
# Draw bars
bars = ax.bar(
x=angles,
height=heights,
width=width,
bottom=lowerLimit,
linewidth=2,
edgecolor="white",
color= "#09798f"
)
# Change bar colour at 14:00 (time of ceremony)
bars[14].set_color('#80CBDA')
# Save fig
plt.savefig('temperatures.png', dpi=300)
# Labels are not included, though code is available on my github for those interested!
The header image reflects daily (x-axis) and hourly (individual lines) wind speeds (km/h; y-axis).
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
wknd_data = pd.read_csv("/Users/rachelforbes/Desktop/collingwood_wknd_weather.csv")
wknd_data.set_index('Time', inplace=True)
wknd_data['WindSpd_inv'] = -1 * wknd_data.WindSpd # inverse only used because the format better fits the header
sns.set_palette("Pastel1")
# Initialize the figure
plt.figure(figsize=(40,15))
# Plot the data
sns.lineplot(x = wknd_data.Day, y = wknd_data.WindSpd_inv, hue = wknd_data.index, linewidth = 1.5, legend = None)
# Remove axes
plt.axis('off')
# Change x lim to start at Dec 2 (first date of trip)
plt.xlim(2.0, 6.0)
# Save fig
plt.savefig('windspd.png', dpi=300)