Skip to content

Instantly share code, notes, and snippets.

@s-kganz
Last active February 2, 2020 16:21
Show Gist options
  • Save s-kganz/e898dfca43400b9e231219ef32c70db3 to your computer and use it in GitHub Desktop.
Save s-kganz/e898dfca43400b9e231219ef32c70db3 to your computer and use it in GitHub Desktop.
Heatmap of exam dates
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 0.7, 'Exam Dates 2020')"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1224x576 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import pandas as pd\n",
"import calmap\n",
"import matplotlib.pyplot as plt\n",
"from mpl_toolkits.axes_grid1 import make_axes_locatable, axes_size\n",
"\n",
"dateindex = pd.date_range('01/01/2020', periods=365, freq='D')\n",
"counts = [0] * 365\n",
"\n",
"for line in open(\"Desktop/exams.txt\", 'r'):\n",
" date = pd.to_datetime(line.strip(), format=\"%m/%d/%Y\")\n",
" counts[date.dayofyear-1] += 1\n",
"\n",
"series = pd.Series(counts, index=dateindex)\n",
"\n",
"fig, ax = calmap.calendarplot(series,\n",
" fig_kws=dict(figsize=(17, 8)))\n",
"\n",
"fig.colorbar(ax[0].get_children()[1], ax=ax.ravel().tolist(), fraction=0.01)\n",
"fig.suptitle(\"Exam Dates 2020\", fontsize=25, y=0.7)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment