# install/upgrade to latest version
pip install --upgrade jupyterthemes
Known issues
Depending on your system, browser, etc., you may need to empty your browser cache after installing a new theme (-t) or attempting to restore the default (-r) in order for those changes to take effect. (see discussion here)
If emptying the cache doesn't work, you may need to start a new jupyter session or restart your browser (see discussion here)
Some users have found that "jt" is not recognized after installing the pypi release (as shown above). Still trying to get to the bottom of this but apparently the following provides a temporary fix (see discussion here).
# uninstall any existing versions
pip uninstall jupyterthemes
# install from the github repo
pip install --user git+https://github.com/dunovank/jupyter-themes.git
# list available themes# oceans16 | grade3 | chesterish | onedork | monokai | solarizedl
jt -l
# select theme...
jt -t chesterish
# restore default theme# NOTE: Need to delete browser cache after running jt -r# If this doesn't work, try starting a new notebook session.
jt -r
# toggle toolbar ON and notebook name ON
jt -t grade3 -T -N
# set code font to 'Roboto Mono' 12pt# (see monospace font table below)
jt -t oceans16 -f roboto -fs 12
# set code font to Fira Mono, 11.5pt# 3digit font-size gets converted into float (115-->11.5)
jt -t grade3 -f fira -fs 115
# set text-cell/markdown and notebook fonts# (see sans-serif & serif font tables below)
jt -t onedork -tf georgiaserif -nf droidsans
# adjust cell width, line-height of codecells
jt -t chesterish -cellw 900 -lineh 170
# fix the container-margins on the intro page (defaults to 'auto')
jt -t onedork -m 200
# adjust cursor width (in px) and make cursor red (r)# options: b (blue), o (orange), r (red), p (purple), g (green), x (font color)
jt -t grade3 -cursc r -cursw 5
# toggle toolbar ON and notebook name ON
jt -t grade3 -T -N
# choose alternate txt/markdown layout (-alt)# and alternate cell prompt (narrow, no numbers)
jt -t grade3 -alt -altp
Set Plotting Style (from within notebook)
jtplot.style() makes changes to matplotlib's rcParams dictionary so that figure aesthetics match those of a chosen jupyterthemes style. Note, these commands do not need to be re-run every time you generate a new plot, just once at the beginning of your notebook or whenever style changes are desired after that.
For instance, I include the following two lines in my ~/.ipython/profile_default/startup/startup.ipy file so this is done automatically whenever I open a new notebook:
# import jtplot submodule from jupyterthemesfromjupyterthemesimportjtplot# currently installed theme will be used to# set plot style if no arguments providedjtplot.style()
Some additional examples for setting "context" (taken from seaborn) and controlling various figure properties...
# import jtplotfromjupyterthemesimportjtplot# you can select an alternative theme's plot style by name# oceans16 | grade3 | chesterish | onedork | monokai | solarizedljtplot.style('onedork')
# set "context" (paper, notebook, talk, or poster)# & font scale (scalar applied to labels, legend, etc.)jtplot.style('grade3', context='paper', fscale=1.4)
# turn on X- and Y-axis tick marks (default=False)# and turn off the axis grid lines (default=True)jtplot.style(ticks=True, grid=False)
# set the default figure size# x (length), y (height)jtplot.figsize(x=6., y=5.)
# or just adjust the aspect ratio# new_length = length * aspectjtplot.figsize(aspect=1.2)
# fully reset matplotlib default rcParamsjtplot.reset()