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)