Created
July 18, 2021 15:53
-
-
Save hannorein/64a6b5f8965e0a8a8d1f8e2b55cbcba3 to your computer and use it in GitHub Desktop.
Clock
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"id": "51c65b56", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import numpy as np\n", | |
"import matplotlib.pylab as plt\n", | |
"from matplotlib.collections import PatchCollection\n", | |
"import matplotlib.transforms as transforms\n", | |
"from mpl_toolkits.axes_grid1.inset_locator import inset_axes" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 14, | |
"id": "5bdcc877", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 216x216 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"fig = plt.figure(figsize=(3, 3))\n", | |
"ax = plt.subplot(1, 1, 1, projection='polar')\n", | |
"\n", | |
"hour = 9.95\n", | |
"\n", | |
"marks = np.linspace(360./12,360,12, endpoint=True)\n", | |
"ax.set_thetagrids(marks,map(lambda m: int(m/30),marks))\n", | |
"ax.tick_params(pad=-32)\n", | |
"for item in ax.get_xticklabels():\n", | |
" item.set_fontsize(15)\n", | |
"tick = [ax.get_rmax(),ax.get_rmax()*0.97]\n", | |
"smallticks = np.linspace(0,np.pi*2.,12*5,endpoint=False)\n", | |
"for t in smallticks:\n", | |
" ax.plot([t,t], tick, lw=2, color=\"k\")\n", | |
"tick = [ax.get_rmax(),ax.get_rmax()*0.97]\n", | |
"smallticks = np.linspace(0,np.pi*2.,12,endpoint=False)\n", | |
"for t in smallticks:\n", | |
" ax.plot([t,t], tick, lw=4, color=\"k\")\n", | |
"ax.set_theta_direction(-1)\n", | |
"ax.set_theta_offset(np.pi/2)\n", | |
"ax.grid(None)\n", | |
"ax.get_yaxis().set_visible(False)\n", | |
"ax.annotate(\"\", xy=(hour/12*np.pi*2., 0.7),xytext=(0,0),arrowprops=dict(arrowstyle=\"wedge\",\n", | |
" connectionstyle=\"arc3\",fc=\"black\",mutation_scale=20))\n", | |
"mins = np.fmod(hour*60.,60.)\n", | |
"ax.annotate(\"\", xy=(mins/60.*np.pi*2., 0.96),xytext=(0,0),arrowprops=dict(arrowstyle=\"wedge\",\n", | |
" connectionstyle=\"arc3\",fc=\"black\",mutation_scale=10))\n", | |
"\n", | |
"ax.scatter(0, 0, s=200, facecolors='k')\n", | |
"ax.text(np.pi, 0.4, \"Local time\", ha=\"center\");" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "dcc37abd", | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"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.8.2" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 5 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment