复制Jupyter Notebook的快捷方式
将这两处的Noetbook修改为lab
即
然后打开文件所在位置,找到Jupyter-Notebook-script.py文件,该文件在Anaconda安装路径下的Scripts中
复制该文件
重命名为jupyter-lab-script.py
用记事本打开jupyter-lab-script.py文件
# -*- coding: utf-8 -*-
import re
import sys
from notebook.notebookapp import main
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(main())
将该文件中的from notebook.notebookapp import main
修改为from jupyterlab.labapp import main
保存
将图标修改为下图
由于CSDN无法上传ico文件,我将图标后缀修改成了png,大家使用该图标使需要自行将后缀名改回.ico,然后将该ico文件放在\Anaconda3\Menu文件夹中,然后在修改图片即可。
jupyterlab 图标
到这里jupyterlab的快捷方式就创建好了,就可以像打开jupyter notebook一样打开jupyterlab了。
在命令行输入jupyter lab --generate-config
生成jupyterlab的配置文件jupyter_lab_config.py,该文件一般位于C:\Users\用户名.jupyter文件夹中
使用记事本或其他编辑器打开jupyter_lab_config.py
在最前方添加如下内容(按需添加):
c.ServerApp.ip='*' # 允许所有 IP 访问
c.ServerApp.root_dir = '默认打开路径'
在基础环境中下载中文包
pip install jupyterlab-language-pack-zh-CN
打开Jupyterlab依次点击 设置->语言->中文 即可。
jupyter lab3.0及以上的版本不建议在扩展管理中之间下载插件,建议直接使用pip进行下载。
pip install theme-darcula
jupyterlab_materialdarker
下载方式
pip install jupyterlab_materialdarker
除了通过下载主题外还可以通过修改下载的主题的CSS文件来修改主题,插件主题加载的文件路径位于:
E:\Anaconda3\share\jupyter\labextensions@oriolmirosa\jupyterlab_materialdarker\themes@oriolmirosa\jupyterlab_materialdarker
可以通过修改该index.css文件在修改主题。
我使用的主题是在jupyterlab_materialdarker的基础上修改的,css文件代码如下:
@import url(https://fonts.googleapis.com/css2?family=Roboto&display=swap);
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| One Dark Pro theme created by johnnybarrels
| https://github.com/johnnybarrels/jupyterlab_onedarkpro
|----------------------------------------------------------------------------*/
/*
The following CSS variables define the main, public API for styling JupyterLab.
These variables should be used by all plugins wherever possible. In other
words, plugins should not define custom colors, sizes, etc unless absolutely
necessary. This enables users to change the visual theme of JupyterLab
by changing these variables.
Many variables appear in an ordered sequence (0,1,2,3). These sequences
are designed to work well together, so for example, `--jp-border-color1` should
be used with `--jp-layout-color1`. The numbers have the following meanings:
* 0: super-primary, reserved for special emphasis
* 1: primary, most important under normal situations
* 2: secondary, next most important under normal situations
* 3: tertiary, next most important under normal situations
Throughout JupyterLab, we are mostly following principles from Google's
Material Design when selecting colors. We are not, however, following
all of MD as it is not optimized for dense, information rich UIs.
*/
:root {
/* Atom one dark colours (adjusted for higher contrast) */
--one-dark-cyan: #51B6C3;
--one-dark-blue: #5DAEF2;
--one-dark-mono-2: #828997;
--one-dark-red-1: #E26B73;
--one-dark-mono-1: #ABB2C0;
--one-dark-silver: #AAAAAA;
--one-dark-purple: #C775DF;
--one-dark-orange-2: #E6C176;
--one-dark-gutter: #666D7A;
--one-dark-fg: #ABB2BF;
--one-dark-green: #97C475;
--one-dark-red-2: #BE5046;
--one-dark-orange-1: #D29B62;
--one-dark-mono-3: #495163;
--one-dark-accent: #AEB9F5;
--one-dark-bg-1: #21252b;
--one-dark-bg-2: #282c34;
--one-dark-gray-1: #3E4451;
--one-dark-gray-2: #4E576A;
--one-dark-gray-3: #555e73;
--one-dark-button-gray: #7F848E;
--one-dark-comment-gray: #7F848E;
--one-dark-off-white: #EEEEEE;
/* Code mirror SYNTAX HIGHLIGHTING styles */
--jp-mirror-editor-keyword-color: var(--one-dark-purple);
--jp-mirror-editor-atom-color: var(--one-dark-off-white);
--jp-mirror-editor-number-color: var(--one-dark-orange-1);
--jp-mirror-editor-def-color: var(--one-dark-red-1);
--jp-mirror-editor-variable-color: var(--one-dark-mono-1);
--jp-mirror-editor-variable-2-color: var(--one-dark-orange-2);
--jp-mirror-editor-variable-3-color: var(--one-dark-purple);
--jp-mirror-editor-punctuation-color: var(--one-dark-mono-1);
--jp-mirror-editor-property-color: var(--one-dark-blue);
--jp-mirror-editor-operator-color: var(--one-dark-cyan);
/* --jp-mirror-editor-comment-color: var(--one-dark-gray-2); */
--jp-mirror-editor-comment-color: var(--one-dark-comment-gray);
--jp-mirror-editor-string-color: var(--one-dark-green);
--jp-mirror-editor-string-2-color: var(--one-dark-red-1);
--jp-mirror-editor-meta-color: var(--one-dark-cyan);
--jp-mirror-editor-qualifier-color: var(--one-dark-accent);
--jp-mirror-editor-builtin-color: var(--one-dark-cyan);
--jp-mirror-editor-bracket-color: var(--one-dark-mono-1);
--jp-mirror-editor-tag-color: var(--one-dark-red-1);
--jp-mirror-editor-attribute-color: var(--one-dark-red-1);
--jp-mirror-editor-header-color: var(--one-dark-blue);
--jp-mirror-editor-quote-color: var(--one-dark-green);
--jp-mirror-editor-link-color: var(--one-dark-red-1);
--jp-mirror-editor-error-color: var(--one-dark-red-1);
--jp-mirror-editor-hr-color: var(--one-dark-mono-1);
--markdown-font: "Roboto";
/* The space to the left of cells (command mode selector) */
--jp-inpromt-colour: var(--one-dark-bg-1);
--jp-cell-prompt-width: 75px;
/* Cell specific styles */
--jp-cell-padding: 0px 10px 10px 0px;
/* T R B L */
--jp-cell-collapser-width: 8px;
--jp-cell-collapser-min-height: 20px;
--jp-cell-collapser-not-active-hover-opacity: 0.6;
--jp-cell-editor-background: var(--one-dark-bg-2);
/* background colour of all cells */
--jp-cell-editor-border-color: var(--one-dark-bg-1);
--jp-cell-editor-box-shadow: inset 0 0 2px var(--one-dark-off-white);
--jp-cell-editor-active-background: var(--one-dark-bg-2);
/* background colour of current cell */
--jp-cell-editor-active-border-color: var(--one-dark-gray-2);
/* border colour of current cell */
--jp-cell-prompt-font-family: "JetBrains Mono", Menlo, monospace;
--jp-cell-prompt-letter-spacing: 0px;
--jp-cell-prompt-opacity: 1.0;
--jp-cell-prompt-not-active-opacity: 1.0;
--jp-cell-prompt-not-active-font-color: var(--one-dark-gray-2);
--jp-cell-inprompt-font-color: var(--one-dark-mono-1);
--jp-cell-outprompt-font-color: var(--one-dark-gray-2);
--jp-editor-selected-background: var(--one-dark-bg-1);
--jp-editor-selected-focused-background: var(--one-dark-bg-1);
/* Elevation */
--jp-shadow-base-lightness: 32;
--jp-shadow-umbra-color: rgba(var(--jp-shadow-base-lightness), var(--jp-shadow-base-lightness), var(--jp-shadow-base-lightness), 0.2);
/* shadow under menus */
--jp-shadow-penumbra-color: rgba(var(--jp-shadow-base-lightness), var(--jp-shadow-base-lightness), var(--jp-shadow-base-lightness), 0.14);
/* glow under menus */
--jp-shadow-ambient-color: rgba(var(--jp-shadow-base-lightness), var(--jp-shadow-base-lightness), var(--jp-shadow-base-lightness), 0.12);
/* same? */
--jp-elevation-z0: none;
--jp-elevation-z1: 0px 2px 1px -1px var(--jp-shadow-umbra-color),
0px 1px 1px 0px var(--jp-shadow-penumbra-color),
0px 1px 3px 0px var(--jp-shadow-ambient-color);
--jp-elevation-z2: 0px 3px 1px -2px var(--jp-shadow-umbra-color),
0px 2px 2px 0px var(--jp-shadow-penumbra-color),
0px 1px 5px 0px var(--jp-shadow-ambient-color);
--jp-elevation-z4: 0px 2px 4px -1px var(--jp-shadow-umbra-color),
0px 4px 5px 0px var(--jp-shadow-penumbra-color),
0px 1px 10px 0px var(--jp-shadow-ambient-color);
--jp-elevation-z6: 0px 3px 5px -1px var(--jp-shadow-umbra-color),
0px 6px 10px 0px var(--jp-shadow-penumbra-color),
0px 1px 18px 0px var(--jp-shadow-ambient-color);
--jp-elevation-z8: 0px 5px 5px -3px var(--jp-shadow-umbra-color),
0px 8px 10px 1px var(--jp-shadow-penumbra-color),
0px 3px 14px 2px var(--jp-shadow-ambient-color);
--jp-elevation-z12: 0px 7px 8px -4px var(--jp-shadow-umbra-color),
0px 12px 17px 2px var(--jp-shadow-penumbra-color),
0px 5px 22px 4px var(--jp-shadow-ambient-color);
--jp-elevation-z16: 0px 8px 10px -5px var(--jp-shadow-umbra-color),
0px 16px 24px 2px var(--jp-shadow-penumbra-color),
0px 6px 30px 5px var(--jp-shadow-ambient-color);
--jp-elevation-z20: 0px 10px 13px -6px var(--jp-shadow-umbra-color),
0px 20px 31px 3px var(--jp-shadow-penumbra-color),
0px 8px 38px 7px var(--jp-shadow-ambient-color);
--jp-elevation-z24: 0px 11px 15px -7px var(--jp-shadow-umbra-color),
0px 24px 38px 3px var(--jp-shadow-penumbra-color),
0px 9px 46px 8px var(--jp-shadow-ambient-color);
/* Borders
*
* The following variables, specify the visual styling of borders in JupyterLab.
*/
--jp-border-width: 1px;
--jp-border-color0: var(--one-dark-gray-1);
--jp-border-color1: var(--one-dark-gray-1);
--jp-border-color2: var(--one-dark-gray-1);
--jp-border-color3: var(--one-dark-gray-1);
--jp-border-radius: 3px;
/* UI Fonts
*
* The UI font CSS variables are used for the typography all of the JupyterLab
* user interface elements that are not directly user generated content.
*
* The font sizing here is done assuming that the body font size of --jp-ui-font-size1
* is applied to a parent element. When children elements, such as headings, are sized
* in em all things will be computed relative to that body size.
*/
--jp-ui-font-scale-factor: 1.2;
--jp-ui-font-size0: 0.83333em;
--jp-ui-font-size1: 13px;
/* Base font size */
--jp-ui-font-size2: 1.2em;
--jp-ui-font-size3: 1.44em;
--jp-ui-font-family: "SF Pro Display", "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
/*
* Use these font colors against the corresponding main layout colors.
* In a light theme, these go from dark to light.
*/
/* Defaults use Material Design specification */
--jp-ui-font-color0: var(--one-dark-mono-1);
--jp-ui-font-color1: var(--one-dark-mono-1);
--jp-ui-font-color2: var(--one-dark-mono-1);
--jp-ui-font-color3: var(--one-dark-mono-1);
/*
* Use these against the brand/accent/warn/error colors.
* These will typically go from light to darker, in both a dark and light theme.
*/
--jp-ui-inverse-font-color0: rgba(0, 0, 0, 1.0);
--jp-ui-inverse-font-color1: rgba(0, 0, 0, 0.8);
--jp-ui-inverse-font-color2: rgba(0, 0, 0, 0.5);
--jp-ui-inverse-font-color3: rgba(0, 0, 0, 0.3);
/* Content Fonts
*
* Content font variables are used for typography of user generated content.
*
* The font sizing here is done assuming that the body font size of --jp-content-font-size1
* is applied to a parent element. When children elements, such as headings, are sized
* in em all things will be computed relative to that body size.
*/
--jp-content-line-height: 1.6;
--jp-content-font-scale-factor: 1.2;
--jp-content-font-size0: 0.83333em;
--jp-content-font-size1: 16px;
/* Base font size */
--jp-content-font-size2: 1.2em;
--jp-content-font-size3: 1.44em;
--jp-content-font-size4: 1.728em;
--jp-content-font-size5: 2.0736em;
/* This gives a magnification of about 125% in presentation mode over normal. */
--jp-content-presentation-font-size1: 17px;
--jp-content-heading-line-height: 1;
--jp-content-heading-margin-top: 1.2em;
--jp-content-heading-margin-bottom: 0.8em;
--jp-content-heading-font-weight: 500;
/* Defaults use Material Design specification */
--jp-content-font-color0: rgba(255, 255, 255, 1.0);
--jp-content-font-color1: var(--one-dark-fg);
/* this will colour all markdown and output text */
--jp-content-font-color2: rgba(255, 255, 255, 0.7);
--jp-content-font-color3: rgba(255, 255, 255, 0.5);
--jp-content-link-color: var(--one-dark-blue);
--jp-content-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
/*
* Code Fonts
*
* Code font variables are used for typography of code and other monospaces content.
*/
--jp-code-font-size: 14px;
--jp-code-line-height: 1.5;
/* 17px for 13px base */
--jp-code-padding: 0.385em;
/* 5px for 13px base */
--jp-code-font-family: "JetBrains Mono", "Fira Code", Menlo, monospace;
/*--jp-code-font-family: 'Source Code Pro', monospace;*/
/* This gives a magnification of about 125% in presentation mode over normal. */
--jp-code-presentation-font-size: 14px;
--jp-code-cursor-width0: 2px;
--jp-code-cursor-width1: 2px;
--jp-code-cursor-width2: 4px;
/* Layout
*
* The following are the main layout colors use in JupyterLab. In a light
* theme these would go from light to dark.
*/
/* Edit the background and stuff */
--jp-layout-color0: var(--one-dark-bg-1);
--jp-layout-color1: var(--one-dark-bg-1);
/* these are for unselected tabs amongst other things... */
--jp-layout-color2: var(--one-dark-bg-1);
/* this is for the area behind the tabs of the notebooks open */
--jp-layout-color3: var(--one-dark-bg-1);
--jp-layout-color4: var(--one-dark-bg-1);
/* Colour for all the SVG buttons (sidebar, topbar etc) */
--jp-icon-contrast-color0: var(--one-dark-button-gray);
--jp-icon-contrast-color1: var(--one-dark-button-gray);
/*--jp-inverse-layout-color1: white;*/
--jp-inverse-layout-color1: #21252b;
--jp-inverse-layout-color2: var(--one-dark-button-gray);
--jp-inverse-layout-color3: var(--one-dark-button-gray);
/* Brand/accent */
--jp-brand-color0: var(--one-dark-blue);
/* selected cell colour, bar to left of cell, selected file in browser */
--jp-brand-color1: var(--one-dark-blue);
--jp-brand-color2: var(--one-dark-off-white);
--jp-brand-color3: var(--md-blue-100);
--jp-accent-color0: var(--md-green-700);
--jp-accent-color1: var(--md-green-500);
--jp-accent-color2: var(--md-green-300);
--jp-accent-color3: var(--md-green-100);
/* State colors (warn, error, success, info) */
--jp-warn-color0: var(--md-orange-700);
--jp-warn-color1: var(--md-orange-500);
--jp-warn-color2: var(--md-orange-300);
--jp-warn-color3: var(--md-orange-100);
--jp-error-color0: var(--md-red-700);
--jp-error-color1: var(--md-red-500);
--jp-error-color2: var(--md-red-300);
--jp-error-color3: var(--md-red-100);
--jp-success-color0: var(--md-green-700);
--jp-success-color1: var(--md-green-500);
--jp-success-color2: var(--md-green-300);
--jp-success-color3: var(--md-green-100);
--jp-info-color0: var(--md-cyan-700);
--jp-info-color1: var(--md-cyan-500);
--jp-info-color2: var(--md-cyan-300);
--jp-info-color3: var(--md-cyan-100);
/* Notebook specific styles */
--jp-notebook-padding: 0px 10px 0px 0px;
/* default 10 */
--jp-notebook-scroll-padding: 100px;
--jp-notebook-select-background: var(--jp-layout-color1);
--jp-notebook-multiselected-color: rgba(33, 150, 243, .24);
/* multi select colour */
/* Rendermime styles */
--jp-rendermime-error-background: rgba(244, 67, 54, .28);
--jp-rendermime-table-row-background: var(--one-dark-bg-2);
--jp-rendermime-table-row-hover-background: var(--one-dark-gray-1);
/* Dialog specific styles */
--jp-dialog-background: rgba(0, 0, 0, .6);
/* Console specific styles */
--jp-console-padding: 10px;
/* Toolbar specific styles */
--jp-toolbar-border-color: var(--jp-border-color2);
--jp-toolbar-micro-height: 8px;
--jp-toolbar-background: var(--jp-layout-color1);
--jp-toolbar-box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.8);
--jp-toolbar-header-margin: 4px 4px 0px 4px;
--jp-toolbar-active-background: var(--jp-layout-color0);
/* Statusbar specific styles */
--jp-statusbar-height: 24px;
/* Input field styles */
--jp-input-box-shadow: inset 0 0 2px var(--one-dark-off-white);
--jp-input-active-background: var(--jp-layout-color0);
--jp-input-hover-background: var(--jp-layout-color2);
--jp-input-background: var(--md-grey-800);
--jp-input-border-color: var(--jp-border-color1);
--jp-input-active-border-color: var(--jp-brand-color1);
--jp-input-active-box-shadow-color: rgba(19, 124, 189, 0.3);
/* General editor styles */
--jp-editor-selected-background: var(--jp-layout-color2);
--jp-editor-selected-focused-background: rgba(33, 150, 243, .24);
--jp-editor-cursor-color:var(--one-dark-mono-1);
/* Vega extension styles */
--jp-vega-background: var(--one-dark-bg-1);
/*--jp-SideBar-background: var(--one-dark-bg-1);*/
--jp-main-dock-panel-background: var(--one-dark-bg-1);
}
/* MAIN BACKGROUND COLOUR */
.jp-Notebook {
background: var(--one-dark-bg-1);
padding-top: 11px;
}
/* Preventing annoying line wrapping from overflows in tooltip (Shift+Tab) */
.jp-Tooltip {
max-width: 660px !important;
overflow: auto;
border-radius: 4px;
}
.jp-Tooltip.jp-HoverBox > div.jp-Tooltip-content > pre {
white-space: pre !important;
}
/* CodeMirror Syntax Highlighting, unset bold */
.jp-RenderedText pre .ansi-bold {font-weight: normal !important;}
/* ------------------------------------------------------------------- */
/* StdError (Tracebacks) */
/* ------------------------------------------------------------------- */
/* StdError background */
.jp-OutputArea-output[data-mime-type='application/vnd.jupyter.stderr'] {
/* background: unset !important; */
background: rgba(226, 107, 115, 0.09) !important;
}
/* Traceback Syntax Highlighting */
/* Headings, eg. `Docstring:` */
.jp-OutputArea-output[data-mime-type='application/vnd.jupyter.stderr'] .ansi-red-fg,
.jp-OutputArea-output[data-mime-type='application/vnd.jupyter.stderr'] .ansi-red-intense-fg {
color: var(--one-dark-red-1) !important;
font-weight: bold !important;
}
/* Punctuation & operators */
.jp-OutputArea-output[data-mime-type='application/vnd.jupyter.stderr'] .ansi-yellow-fg,
.jp-OutputArea-output[data-mime-type='application/vnd.jupyter.stderr'] .ansi-yellow-intense-fg {
color: var(--one-dark-cyan) !important
}
/* Functions */
.jp-OutputArea-output[data-mime-type='application/vnd.jupyter.stderr'] .ansi-cyan-fg {
color: var(--one-dark-blue) !important
}
/* Numbers */
.jp-OutputArea-output[data-mime-type='application/vnd.jupyter.stderr'] .ansi-cyan-intense-fg {
color: var(--one-dark-orange-1) !important
}
/* Strings, brackets and some function arguments */
.jp-OutputArea-output[data-mime-type='application/vnd.jupyter.stderr'] .ansi-blue-fg,
.jp-OutputArea-output[data-mime-type='application/vnd.jupyter.stderr'] .ansi-blue-intense-fg {
color: var(--one-dark-green) !important
}
/* Paths and keywords */
.jp-OutputArea-output[data-mime-type='application/vnd.jupyter.stderr'] .ansi-green-fg,
.jp-OutputArea-output[data-mime-type='application/vnd.jupyter.stderr'] .ansi-green-intense-fg {
color: var(--one-dark-purple) !important
}
/* ------------------------------------------------------------------- */
/* Other CodeMirror Syntax Highlighting */
/* ------------------------------------------------------------------- */
/* e.g. when you `?` something (to get help menu) */
/* Headings, eg. `Docstring:` */
.jp-RenderedText[data-mime-type='text/plain'] .ansi-red-fg,
.jp-RenderedText[data-mime-type='text/plain'] .ansi-red-intense-fg {
color: var(--one-dark-blue) !important
}
/* Punctuation & operators */
.jp-RenderedText[data-mime-type='text/plain'] .ansi-yellow-fg,
.jp-RenderedText[data-mime-type='text/plain'] .ansi-yellow-intense-fg {
color: var(--one-dark-cyan) !important
}
/* Numbers */
.jp-RenderedText[data-mime-type='text/plain'] .ansi-cyan-fg,
.jp-RenderedText[data-mime-type='text/plain'] .ansi-cyan-intense-fg {
color: var(--one-dark-orange-1) !important
}
/* Strings */
.jp-RenderedText[data-mime-type='text/plain'] .ansi-blue-fg,
.jp-RenderedText[data-mime-type='text/plain'] .ansi-blue-intense-fg {
color: var(--one-dark-green) !important
}
/* Keywords */
.jp-RenderedText[data-mime-type='text/plain'] .ansi-green-fg,
.jp-RenderedText[data-mime-type='text/plain'] .ansi-green-intense-fg {
color: var(--one-dark-purple) !important
}
/* Toolbar and right-click menu hover */
li.lm-Menu-item.p-Menu-item:not([data-type=separator]):hover {
background-color: var(--one-dark-gray-1);
}
.lm-CommandPalette-item.lm-mod-disabled {
color: var(--one-dark-gray-3);
}
.lm-CommandPalette-item.lm-mod-active {
background: var(--one-dark-gray-1);
}
.lm-CommandPalette-item.lm-mod-active:hover:not(.lm-mod-disabled) {
background: var(--one-dark-gray-1);
}
.lm-CommandPalette-item:hover:not(.lm-mod-active):not(.lm-mod-disabled) {
background: var(--one-dark-gray-1);
cursor: pointer;
}
/* Change the colour of linenumbers */
.CodeMirror-linenumber {
padding: 0 3px 0 5px;
min-width: 20px;
text-align: center;
color: var(--one-dark-gray-2);
background-color: var(--one-dark-bg-2);
white-space: nowrap;
}
/* This is the region where the linenumbers are */
.CodeMirror-gutters {
border-right: none;
background-color: var(--one-dark-bg-2);
white-space: nowrap;
}
.CodeMirror-gutter {
background-color: unset !important;
}
/* Do some nice things with brackets */
div.CodeMirror span.CodeMirror-matchingbracket {
color: var(--one-dark-blue);
border-bottom: 1px solid var(--one-dark-blue);
line-height: 1;
}
div.CodeMirror span.CodeMirror-nonmatchingbracket {
color: var(--one-dark-mono-1);
border-bottom: 1px solid var(--one-dark-red-1);
line-height: 0.55;
}
.CodeMirror-matchingtag {
/* background: rgba(255, 150, 0, .3); */
background: rgba(81, 182, 195, 0.3)
}
.CodeMirror-activeline-background {
background: #e8f2ff;
}
.CodeMirror-selected {
background: var(--one-dark-mono-3);
}
.CodeMirror-focused .CodeMirror-selected {
background: var(--one-dark-mono-3);
}
/* selected text highlight */
/* Item selected in menu for files and what not */
.jp-DirListing-item.jp-mod-selected {
/* color: white; */
color: var(--one-dark-mono-1);
background: var(--one-dark-bg-2);
}
/* Makes the running icon a tiny bit bigger */
.jp-DirListing-item.jp-mod-running .jp-DirListing-itemIcon:before {
color: var(--one-dark-green);
content: "\25CF";
font-size: 12px;
position: relative;
width: 100%;
height: 100%;
top: -2px;
left: -8px;
}
/*.jp-Toolbar-item.jp-Toolbar-kernelStatus {
display: inline-block;
width: 32px;
background-repeat: no-repeat;
background-position: center;
background-size: 16px;
color: black;
fill: green;
}*/
/* width */
::-webkit-scrollbar {
width: 6px;
height: 6px;
}
/* Track */
::-webkit-scrollbar-track {
background: rgba(0, 0, 0, 0);
}
/* Handle */
::-webkit-scrollbar-thumb {
background: var(--one-dark-mono-3);
border-radius: 10px;
}
/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
background: var(--one-dark-mono-3);
}
/* Handle */
::-webkit-scrollbar-thumb:active {
background: var(--one-dark-blue);
}
/* Center any plots e.g. Matplotlib plots */
/* .p-Widget.jp-RenderedImage.jp-mod-trusted.jp-OutputArea-output {
display: table-cell;
text-align: center;
vertical-align: middle;
} */
/* Highlighted line in tab-completion menu */
.jp-Completer-item.jp-mod-active {
color: var(--one-dark-off-white);
background: var(--one-dark-gray-1);
}
/* Custom line rule */
.jp-RenderedHTMLCommon hr {
display: block;
margin-top: 0.5em;
margin-bottom: 0.5em;
margin-left: 0em;
margin-right: 0em;
border-style: inset;
border-width: 1px;
border-top: 1px solid var(--one-dark-fg);
border-bottom: 1px solid var(--one-dark-fg);
}
/* Markdown inline code */
.jp-RenderedHTMLCommon code, .jp-RenderedHTMLCommon pre {
padding: 1px 3px;
/* font-size: var() 1em !important; */
}
.jp-MarkdownOutput {
flex: 1 1 auto;
margin-top: 0;
margin-bottom: 0;
padding-left: var(--jp-code-padding);
padding-right: var(--jp-code-padding);
font-family: var(--markdown-font), "Open Sans", sans-serif;
}
.cm-s-zenburn {
background-color: var(--one-dark-bg-1);
color: var(--one-dark-fg);
}
.cm-s-zenburn .CodeMirror-gutters {
/* background: var(--one-dark-bg-1) !important; */
}
.jp-Notebook .jp-Cell .jp-Collapser
{
background: var(--one-dark-bg-1);
border-bottom-right-radius: 0px;
border-top-right-radius: 0px;
border-bottom-left-radius: 6px;
border-top-left-radius: 6px;
}
.jp-Notebook .jp-InputPrompt {
padding-top: 10px !important;
}
.jp-Notebook .jp-MarkdownCell .jp-InputPrompt
{
background: var(--jp-inpromt-colour) !important;
color: var(--one-dark-mono-1);
/* font-family: var(--jp-cell-prompt-font-family); */
opacity: 1;
cursor: move;
font-weight: medium;
}
/* InPrompt when cell is selected */
.jp-Notebook .jp-Cell .jp-InputPrompt
{
background: var(--jp-inpromt-colour);
color: var(--one-dark-mono-2);
/* font-family: var(--jp-cell-prompt-font-family); */
opacity: 1;
cursor: move;
font-weight: medium;
}
.jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-InputPrompt
{
opacity: 1;
background: var(--jp-inpromt-colour);
font-weight: normal;
color: var(--one-dark-gray-2);
}
/* Rounding the tab corners */
.lm-TabBar-content .lm-TabBar-tab,
.p-TabBar-content .p-TabBar-tab {
border-top-left-radius: 5px;
border-top-right-radius: 5px;
}
/* Disabling bold keywords */
.cm-keyword {
font-weight: normal !important;
}
/* Toggle code comment italics */
.cm-comment {
/* font-style: normal !important; */
}
/* Remove automatic 4px padding at the top and bottom of cells */
/* .CodeMirror-lines {
padding: 0px;
} */
/* Border radius of code cells */
.jp-InputArea-editor {
/* border-top-right-radius: 3px;
border-bottom-right-radius: 3px; */
border-radius: 4px;
padding: var(--jp-code-padding);
}
/* Hover effects on Launcher cards */
.jp-LauncherCard {
transition: transform .2s ease-in-out;
}
.jp-LauncherCard:hover {
transform: scale(1.1);
}
.MathJax_Preview {
color: var(--one-dark-mono-1) !important;
}
HTML, body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, button, textarea, p, blockquote, th, td, span, a
{
text-rendering: auto !important;
-webkit-font-smoothing: subpixel-antialiased !important;
}
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/* Set the default typography for monospace elements */
tt,
code,
kbd,
samp,
pre {
font-family: var(--jp-code-font-family);
font-size: var(--jp-code-font-size) !important;
line-height: var(--jp-code-line-height);
}
效果如图所示
jupyter-matplotlib
绘图交互插件
下载方式
pip install ipympl
jupyterlab-lsp
Language Server Protocol integration for Jupyter(Lab)
代码自动补全,跳转定义,代码诊断等多种功能
下载方式
pip install jupyterlab-lsp
pip install python-lsp-server[all]
https://github.com/jupyter-lsp/jupyterlab-lsp
jupyterlab_code_formatter
代码自动格式化,按照autopep8标准对代码格式进行调整
具体下载与设置请看这篇博文
Jupyter Lab通过安装插件利用autopep8等实现快速格式化代码
jupyterlab3.0自带了代码调试,工作目录,变量显示等功能,无需下载插件,还有其他需求自行查找相关插件。
为了使plot画图风格与主题配套,建议修改matplotlib风格
,修改方式包括临时修改和永久修改两种。
在使用plt绘图前,使用plt.style.use('dark_background')
将风格修改为dark_background,该风格文件位于
E:\Anaconda3\Lib\site-packages\matplotlib\mpl-data\stylelib
这个文件夹中包含了很多种风格,我们还可以根据需求自行创建风格文件,文件命名为xxxx.mplstyle
例如:darkstyle.mplstyle
lines.color: white
patch.edgecolor: white
text.color: white
axes.facecolor: 21252b
axes.edgecolor: white
axes.labelcolor: white
axes.prop_cycle: cycler('color', ['8dd3c7', 'feffb3', 'bfbbd9', 'fa8174', '81b1d2', 'fdb462', 'b3de69', 'bc82bd', 'ccebc4', 'ffed6f'])
xtick.color: white
ytick.color: white
grid.color: white
figure.facecolor: 21252b
figure.edgecolor: 21252b
savefig.facecolor: 21252b
savefig.edgecolor: 21252b
### Boxplots
boxplot.boxprops.color: white
boxplot.capprops.color: white
boxplot.flierprops.color: white
boxplot.flierprops.markeredgecolor: white
boxplot.whiskerprops.color: white
效果如图所示
使用plt.style.use('default')
即可恢复为默认风格
或者创建一个moren.mplstyle,使用plt.style.use('moren')
恢复默认风格
lines.color: C0
patch.edgecolor: black
boxplot.flierprops.color: black
boxplot.flierprops.markeredgecolor: black
boxplot.boxprops.color: black
boxplot.whiskerprops.color: black
boxplot.capprops.color: black
text.color: black
axes.facecolor: white
axes.edgecolor: black
axes.labelcolor: black
axes.prop_cycle: cycler('color', ['1f77b4', 'ff7f0e', '2ca02c', 'd62728', '9467bd', '8c564b', 'e377c2', '7f7f7f', 'bcbd22', '17becf'])
xtick.color: black
ytick.color: black
grid.color: b0b0b0
figure.facecolor: white
figure.edgecolor: white
savefig.facecolor: auto
savefig.edgecolor: auto
修改E:\Anaconda3\Lib\site-packages\matplotlib\mpl-data路径下的
matplotlibrc文件,修改前建议先复制一下保留副本。
这是将默认风格修改为darkstyle
#### MATPLOTLIBRC FORMAT
## NOTE FOR END USERS: DO NOT EDIT THIS FILE!
##
## This is a sample Matplotlib configuration file - you can find a copy
## of it on your system in site-packages/matplotlib/mpl-data/matplotlibrc
## (relative to your Python installation location).
##
## You should find a copy of it on your system at
## site-packages/matplotlib/mpl-data/matplotlibrc (relative to your Python
## installation location). DO NOT EDIT IT!
##
## If you wish to change your default style, copy this file to one of the
## following locations:
## Unix/Linux:
## $HOME/.config/matplotlib/matplotlibrc OR
## $XDG_CONFIG_HOME/matplotlib/matplotlibrc (if $XDG_CONFIG_HOME is set)
## Other platforms:
## $HOME/.matplotlib/matplotlibrc
## and edit that copy.
##
## See https://matplotlib.org/users/customizing.html#the-matplotlibrc-file
## for more details on the paths which are checked for the configuration file.
##
## Blank lines, or lines starting with a comment symbol, are ignored, as are
## trailing comments. Other lines must have the format:
## key: val # optional comment
##
## Formatting: Use PEP8-like style (as enforced in the rest of the codebase).
## All lines start with an additional '#', so that removing all leading '#'s
## yields a valid style file.
##
## Colors: for the color values below, you can either use
## - a Matplotlib color string, such as r, k, or b
## - an RGB tuple, such as (1.0, 0.5, 0.0)
## - a hex string, such as ff00ff
## - a scalar grayscale intensity such as 0.75
## - a legal html color name, e.g., red, blue, darkslategray
##
## Matplotlib configuration are currently divided into following parts:
## - BACKENDS
## - LINES
## - PATCHES
## - HATCHES
## - BOXPLOT
## - FONT
## - TEXT
## - LaTeX
## - AXES
## - DATES
## - TICKS
## - GRIDS
## - LEGEND
## - FIGURE
## - IMAGES
## - CONTOUR PLOTS
## - ERRORBAR PLOTS
## - HISTOGRAM PLOTS
## - SCATTER PLOTS
## - AGG RENDERING
## - PATHS
## - SAVING FIGURES
## - INTERACTIVE KEYMAPS
## - ANIMATION
##### CONFIGURATION BEGINS HERE
## ***************************************************************************
## * BACKENDS *
## ***************************************************************************
## The default backend. If you omit this parameter, the first working
## backend from the following list is used:
## MacOSX Qt5Agg Gtk3Agg TkAgg WxAgg Agg
## Other choices include:
## Qt5Cairo GTK3Cairo TkCairo WxCairo Cairo
## Qt4Agg Qt4Cairo Wx # deprecated.
## PS PDF SVG Template
## You can also deploy your own backend outside of Matplotlib by referring to
## the module name (which must be in the PYTHONPATH) as 'module://my_backend'.
#backend: Agg
## The port to use for the web server in the WebAgg backend.
#webagg.port: 8988
## The address on which the WebAgg web server should be reachable
#webagg.address: 127.0.0.1
## If webagg.port is unavailable, a number of other random ports will
## be tried until one that is available is found.
#webagg.port_retries: 50
## When True, open the web browser to the plot that is shown
#webagg.open_in_browser: True
## If you are running pyplot inside a GUI and your backend choice
## conflicts, we will automatically try to find a compatible one for
## you if backend_fallback is True
#backend_fallback: True
#interactive: False
#toolbar: toolbar2 # {None, toolbar2, toolmanager}
#timezone: UTC # a pytz timezone string, e.g., US/Central or Europe/Paris
## ***************************************************************************
## * LINES *
## ***************************************************************************
## See https://matplotlib.org/api/artist_api.html#module-matplotlib.lines
## for more information on line properties.
#lines.linewidth: 1.5 # line width in points
#lines.linestyle: - # solid line
#lines.color: white # has no affect on plot(); see axes.prop_cycle
#lines.marker: None # the default marker
#lines.markerfacecolor: auto # the default marker face color
#lines.markeredgecolor: auto # the default marker edge color
#lines.markeredgewidth: 1.0 # the line width around the marker symbol
#lines.markersize: 6 # marker size, in points
#lines.dash_joinstyle: round # {miter, round, bevel}
#lines.dash_capstyle: butt # {butt, round, projecting}
#lines.solid_joinstyle: round # {miter, round, bevel}
#lines.solid_capstyle: projecting # {butt, round, projecting}
#lines.antialiased: True # render lines in antialiased (no jaggies)
## The three standard dash patterns. These are scaled by the linewidth.
#lines.dashed_pattern: 3.7, 1.6
#lines.dashdot_pattern: 6.4, 1.6, 1, 1.6
#lines.dotted_pattern: 1, 1.65
#lines.scale_dashes: True
#markers.fillstyle: full # {full, left, right, bottom, top, none}
#pcolor.shading : flat
#pcolormesh.snap : True # Whether to snap the mesh to pixel boundaries. This
# is provided solely to allow old test images to remain
# unchanged. Set to False to obtain the previous behavior.
## ***************************************************************************
## * PATCHES *
## ***************************************************************************
## Patches are graphical objects that fill 2D space, like polygons or circles.
## See https://matplotlib.org/api/artist_api.html#module-matplotlib.patches
## for more information on patch properties.
#patch.linewidth: 1 # edge width in points.
#patch.facecolor: C0
#patch.edgecolor: white # if forced, or patch is not filled
#patch.force_edgecolor: False # True to always use edgecolor
#patch.antialiased: True # render patches in antialiased (no jaggies)
## ***************************************************************************
## * HATCHES *
## ***************************************************************************
#hatch.color: black
#hatch.linewidth: 1.0
## ***************************************************************************
## * BOXPLOT *
## ***************************************************************************
#boxplot.notch: False
#boxplot.vertical: True
#boxplot.whiskers: 1.5
#boxplot.bootstrap: None
#boxplot.patchartist: False
#boxplot.showmeans: False
#boxplot.showcaps: True
#boxplot.showbox: True
#boxplot.showfliers: True
#boxplot.meanline: False
#boxplot.flierprops.color: white
#boxplot.flierprops.marker: o
#boxplot.flierprops.markerfacecolor: none
#boxplot.flierprops.markeredgecolor: white
#boxplot.flierprops.markeredgewidth: 1.0
#boxplot.flierprops.markersize: 6
#boxplot.flierprops.linestyle: none
#boxplot.flierprops.linewidth: 1.0
#boxplot.boxprops.color: white
#boxplot.boxprops.linewidth: 1.0
#boxplot.boxprops.linestyle: -
#boxplot.whiskerprops.color: white
#boxplot.whiskerprops.linewidth: 1.0
#boxplot.whiskerprops.linestyle: -
#boxplot.capprops.color: white
#boxplot.capprops.linewidth: 1.0
#boxplot.capprops.linestyle: -
#boxplot.medianprops.color: C1
#boxplot.medianprops.linewidth: 1.0
#boxplot.medianprops.linestyle: -
#boxplot.meanprops.color: C2
#boxplot.meanprops.marker: ^
#boxplot.meanprops.markerfacecolor: C2
#boxplot.meanprops.markeredgecolor: C2
#boxplot.meanprops.markersize: 6
#boxplot.meanprops.linestyle: --
#boxplot.meanprops.linewidth: 1.0
## ***************************************************************************
## * FONT *
## ***************************************************************************
## The font properties used by `text.Text`.
## See https://matplotlib.org/api/font_manager_api.html for more information
## on font properties. The 6 font properties used for font matching are
## given below with their default values.
##
## The font.family property can take either a concrete font name (not supported
## when rendering text with usetex), or one of the following five generic
## values:
## - 'serif' (e.g., Times),
## - 'sans-serif' (e.g., Helvetica),
## - 'cursive' (e.g., Zapf-Chancery),
## - 'fantasy' (e.g., Western), and
## - 'monospace' (e.g., Courier).
## Each of these values has a corresponding default list of font names
## (font.serif, etc.); the first available font in the list is used. Note that
## for font.serif, font.sans-serif, and font.monospace, the first element of
## the list (a DejaVu font) will always be used because DejaVu is shipped with
## Matplotlib and is thus guaranteed to be available; the other entries are
## left as examples of other possible values.
##
## The font.style property has three values: normal (or roman), italic
## or oblique. The oblique style will be used for italic, if it is not
## present.
##
## The font.variant property has two values: normal or small-caps. For
## TrueType fonts, which are scalable fonts, small-caps is equivalent
## to using a font size of 'smaller', or about 83%% of the current font
## size.
##
## The font.weight property has effectively 13 values: normal, bold,
## bolder, lighter, 100, 200, 300, ..., 900. Normal is the same as
## 400, and bold is 700. bolder and lighter are relative values with
## respect to the current weight.
##
## The font.stretch property has 11 values: ultra-condensed,
## extra-condensed, condensed, semi-condensed, normal, semi-expanded,
## expanded, extra-expanded, ultra-expanded, wider, and narrower. This
## property is not currently implemented.
##
## The font.size property is the default font size for text, given in points.
## 10 pt is the standard value.
##
## Note that font.size controls default text sizes. To configure
## special text sizes tick labels, axes, labels, title, etc., see the rc
## settings for axes and ticks. Special text sizes can be defined
## relative to font.size, using the following values: xx-small, x-small,
## small, medium, large, x-large, xx-large, larger, or smaller
#font.family: sans-serif
#font.style: normal
#font.variant: normal
#font.weight: normal
#font.stretch: normal
#font.size: 10.0
#font.serif: DejaVu Serif, Bitstream Vera Serif, Computer Modern Roman, New Century Schoolbook, Century Schoolbook L, Utopia, ITC Bookman, Bookman, Nimbus Roman No9 L, Times New Roman, Times, Palatino, Charter, serif
#font.sans-serif: DejaVu Sans, Bitstream Vera Sans, Computer Modern Sans Serif, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
#font.cursive: Apple Chancery, Textile, Zapf Chancery, Sand, Script MT, Felipa, Comic Neue, Comic Sans MS, cursive
#font.fantasy: Chicago, Charcoal, Impact, Western, Humor Sans, xkcd, fantasy
#font.monospace: DejaVu Sans Mono, Bitstream Vera Sans Mono, Computer Modern Typewriter, Andale Mono, Nimbus Mono L, Courier New, Courier, Fixed, Terminal, monospace
## ***************************************************************************
## * TEXT *
## ***************************************************************************
## The text properties used by `text.Text`.
## See https://matplotlib.org/api/artist_api.html#module-matplotlib.text
## for more information on text properties
#text.color: white
## ***************************************************************************
## * LaTeX *
## ***************************************************************************
## For more information on LaTeX properties, see
## https://matplotlib.org/tutorials/text/usetex.html
#text.usetex: False # use latex for all text handling. The following fonts
# are supported through the usual rc parameter settings:
# new century schoolbook, bookman, times, palatino,
# zapf chancery, charter, serif, sans-serif, helvetica,
# avant garde, courier, monospace, computer modern roman,
# computer modern sans serif, computer modern typewriter
# If another font is desired which can loaded using the
# LaTeX \usepackage command, please inquire at the
# Matplotlib mailing list
#text.latex.preamble: # IMPROPER USE OF THIS FEATURE WILL LEAD TO LATEX FAILURES
# AND IS THEREFORE UNSUPPORTED. PLEASE DO NOT ASK FOR HELP
# IF THIS FEATURE DOES NOT DO WHAT YOU EXPECT IT TO.
# text.latex.preamble is a single line of LaTeX code that
# will be passed on to the LaTeX system. It may contain
# any code that is valid for the LaTeX "preamble", i.e.
# between the "\documentclass" and "\begin{document}"
# statements.
# Note that it has to be put on a single line, which may
# become quite long.
# The following packages are always loaded with usetex, so
# beware of package collisions: color, geometry, graphicx,
# type1cm, textcomp.
# Adobe Postscript (PSSNFS) font packages may also be
# loaded, depending on your font settings.
## FreeType hinting flag ("foo" corresponds to FT_LOAD_FOO); may be one of the
## following (Proprietary Matplotlib-specific synonyms are given in parentheses,
## but their use is discouraged):
## - default: Use the font's native hinter if possible, else FreeType's auto-hinter.
## ("either" is a synonym).
## - no_autohint: Use the font's native hinter if possible, else don't hint.
## ("native" is a synonym.)
## - force_autohint: Use FreeType's auto-hinter. ("auto" is a synonym.)
## - no_hinting: Disable hinting. ("none" is a synonym.)
#text.hinting: force_autohint
#text.hinting_factor: 8 # Specifies the amount of softness for hinting in the
# horizontal direction. A value of 1 will hint to full
# pixels. A value of 2 will hint to half pixels etc.
#text.kerning_factor : 0 # Specifies the scaling factor for kerning values. This
# is provided solely to allow old test images to remain
# unchanged. Set to 6 to obtain previous behavior. Values
# other than 0 or 6 have no defined meaning.
#text.antialiased: True # If True (default), the text will be antialiased.
# This only affects raster outputs.
## The following settings allow you to select the fonts in math mode.
#mathtext.fontset: dejavusans # Should be 'dejavusans' (default),
# 'dejavuserif', 'cm' (Computer Modern), 'stix',
# 'stixsans' or 'custom' (unsupported, may go
# away in the future)
## "mathtext.fontset: custom" is defined by the mathtext.bf, .cal, .it, ...
## settings which map a TeX font name to a fontconfig font pattern. (These
## settings are not used for other font sets.)
#mathtext.bf: sans:bold
#mathtext.cal: cursive
#mathtext.it: sans:italic
#mathtext.rm: sans
#mathtext.sf: sans
#mathtext.tt: monospace
#mathtext.fallback: cm # Select fallback font from ['cm' (Computer Modern), 'stix'
# 'stixsans'] when a symbol can not be found in one of the
# custom math fonts. Select 'None' to not perform fallback
# and replace the missing character by a dummy symbol.
#mathtext.default: it # The default font to use for math.
# Can be any of the LaTeX font names, including
# the special name "regular" for the same font
# used in regular text.
## ***************************************************************************
## * AXES *
## ***************************************************************************
## Following are default face and edge colors, default tick sizes,
## default font sizes for tick labels, and so on. See
## https://matplotlib.org/api/axes_api.html#module-matplotlib.axes
#axes.facecolor: 21252b # axes background color
#axes.edgecolor: white # axes edge color
#axes.linewidth: 0.8 # edge line width
#axes.grid: False # display grid or not
#axes.grid.axis: both # which axis the grid should apply to
#axes.grid.which: major # grid lines at {major, minor, both} ticks
#axes.titlelocation: center # alignment of the title: {left, right, center}
#axes.titlesize: large # font size of the axes title
#axes.titleweight: normal # font weight of title
#axes.titlecolor: auto # color of the axes title, auto falls back to
# text.color as default value
#axes.titley: None # position title (axes relative units). None implies auto
#axes.titlepad: 6.0 # pad between axes and title in points
#axes.labelsize: medium # font size of the x and y labels
#axes.labelpad: 4.0 # space between label and axis
#axes.labelweight: normal # weight of the x and y labels
#axes.labelcolor: white
#axes.axisbelow: line # draw axis gridlines and ticks:
# - below patches (True)
# - above patches but below lines ('line')
# - above all (False)
#axes.formatter.limits: -5, 6 # use scientific notation if log10
# of the axis range is smaller than the
# first or larger than the second
#axes.formatter.use_locale: False # When True, format tick labels
# according to the user's locale.
# For example, use ',' as a decimal
# separator in the fr_FR locale.
#axes.formatter.use_mathtext: False # When True, use mathtext for scientific
# notation.
#axes.formatter.min_exponent: 0 # minimum exponent to format in scientific notation
#axes.formatter.useoffset: True # If True, the tick label formatter
# will default to labeling ticks relative
# to an offset when the data range is
# small compared to the minimum absolute
# value of the data.
#axes.formatter.offset_threshold: 4 # When useoffset is True, the offset
# will be used when it can remove
# at least this number of significant
# digits from tick labels.
#axes.spines.left: True # display axis spines
#axes.spines.bottom: True
#axes.spines.top: True
#axes.spines.right: True
#axes.unicode_minus: True # use Unicode for the minus symbol rather than hyphen. See
# https://en.wikipedia.org/wiki/Plus_and_minus_signs#Character_codes
#axes.prop_cycle: cycler('color', ['8dd3c7', 'feffb3', 'bfbbd9', 'fa8174', '81b1d2', 'fdb462', 'b3de69', 'bc82bd', 'ccebc4', 'ffed6f'])
# color cycle for plot lines as list of string color specs:
# single letter, long name, or web-style hex
# As opposed to all other parameters in this file, the color
# values must be enclosed in quotes for this parameter,
# e.g. '1f77b4', instead of 1f77b4.
# See also https://matplotlib.org/tutorials/intermediate/color_cycle.html
# for more details on prop_cycle usage.
#axes.xmargin: .05 # x margin. See `axes.Axes.margins`
#axes.ymargin: .05 # y margin. See `axes.Axes.margins`
#axes.zmargin: .05 # z margin. See `axes.Axes.margins`
#axes.autolimit_mode: data # If "data", use axes.xmargin and axes.ymargin as is.
# If "round_numbers", after application of margins, axis
# limits are further expanded to the nearest "round" number.
#polaraxes.grid: True # display grid on polar axes
#axes3d.grid: True # display grid on 3D axes
## ***************************************************************************
## * AXIS *
## ***************************************************************************
#xaxis.labellocation: center # alignment of the xaxis label: {left, right, center}
#yaxis.labellocation: center # alignment of the yaxis label: {bottom, top, center}
## ***************************************************************************
## * DATES *
## ***************************************************************************
## These control the default format strings used in AutoDateFormatter.
## Any valid format datetime format string can be used (see the python
## `datetime` for details). For example, by using:
## - '%%x' will use the locale date representation
## - '%%X' will use the locale time representation
## - '%%c' will use the full locale datetime representation
## These values map to the scales:
## {'year': 365, 'month': 30, 'day': 1, 'hour': 1/24, 'minute': 1 / (24 * 60)}
#date.autoformatter.year: %Y
#date.autoformatter.month: %Y-%m
#date.autoformatter.day: %Y-%m-%d
#date.autoformatter.hour: %m-%d %H
#date.autoformatter.minute: %d %H:%M
#date.autoformatter.second: %H:%M:%S
#date.autoformatter.microsecond: %M:%S.%f
## The reference date for Matplotlib's internal date representation
## See https://matplotlib.org/examples/ticks_and_spines/date_precision_and_epochs.py
#date.epoch: 1970-01-01T00:00:00
## 'auto', 'concise':
#date.converter: auto
## For auto converter whether to use interval_multiples:
#date.interval_multiples: True
## ***************************************************************************
## * TICKS *
## ***************************************************************************
## See https://matplotlib.org/api/axis_api.html#matplotlib.axis.Tick
#xtick.top: False # draw ticks on the top side
#xtick.bottom: True # draw ticks on the bottom side
#xtick.labeltop: False # draw label on the top
#xtick.labelbottom: True # draw label on the bottom
#xtick.major.size: 3.5 # major tick size in points
#xtick.minor.size: 2 # minor tick size in points
#xtick.major.width: 0.8 # major tick width in points
#xtick.minor.width: 0.6 # minor tick width in points
#xtick.major.pad: 3.5 # distance to major tick label in points
#xtick.minor.pad: 3.4 # distance to the minor tick label in points
#xtick.color: white # color of the ticks
#xtick.labelcolor: inherit # color of the tick labels or inherit from xtick.color
#xtick.labelsize: medium # font size of the tick labels
#xtick.direction: out # direction: {in, out, inout}
#xtick.minor.visible: False # visibility of minor ticks on x-axis
#xtick.major.top: True # draw x axis top major ticks
#xtick.major.bottom: True # draw x axis bottom major ticks
#xtick.minor.top: True # draw x axis top minor ticks
#xtick.minor.bottom: True # draw x axis bottom minor ticks
#xtick.alignment: center # alignment of xticks
#ytick.left: True # draw ticks on the left side
#ytick.right: False # draw ticks on the right side
#ytick.labelleft: True # draw tick labels on the left side
#ytick.labelright: False # draw tick labels on the right side
#ytick.major.size: 3.5 # major tick size in points
#ytick.minor.size: 2 # minor tick size in points
#ytick.major.width: 0.8 # major tick width in points
#ytick.minor.width: 0.6 # minor tick width in points
#ytick.major.pad: 3.5 # distance to major tick label in points
#ytick.minor.pad: 3.4 # distance to the minor tick label in points
#ytick.color: white # color of the ticks
#ytick.labelcolor: inherit # color of the tick labels or inherit from ytick.color
#ytick.labelsize: medium # font size of the tick labels
#ytick.direction: out # direction: {in, out, inout}
#ytick.minor.visible: False # visibility of minor ticks on y-axis
#ytick.major.left: True # draw y axis left major ticks
#ytick.major.right: True # draw y axis right major ticks
#ytick.minor.left: True # draw y axis left minor ticks
#ytick.minor.right: True # draw y axis right minor ticks
#ytick.alignment: center_baseline # alignment of yticks
## ***************************************************************************
## * GRIDS *
## ***************************************************************************
#grid.color: white # grid color
#grid.linestyle: - # solid
#grid.linewidth: 0.8 # in points
#grid.alpha: 1.0 # transparency, between 0.0 and 1.0
## ***************************************************************************
## * LEGEND *
## ***************************************************************************
#legend.loc: best
#legend.frameon: True # if True, draw the legend on a background patch
#legend.framealpha: 0.8 # legend patch transparency
#legend.facecolor: inherit # inherit from axes.facecolor; or color spec
#legend.edgecolor: 0.8 # background patch boundary color
#legend.fancybox: True # if True, use a rounded box for the
# legend background, else a rectangle
#legend.shadow: False # if True, give background a shadow effect
#legend.numpoints: 1 # the number of marker points in the legend line
#legend.scatterpoints: 1 # number of scatter points
#legend.markerscale: 1.0 # the relative size of legend markers vs. original
#legend.fontsize: medium
#legend.title_fontsize: None # None sets to the same as the default axes.
## Dimensions as fraction of font size:
#legend.borderpad: 0.4 # border whitespace
#legend.labelspacing: 0.5 # the vertical space between the legend entries
#legend.handlelength: 2.0 # the length of the legend lines
#legend.handleheight: 0.7 # the height of the legend handle
#legend.handletextpad: 0.8 # the space between the legend line and legend text
#legend.borderaxespad: 0.5 # the border between the axes and legend edge
#legend.columnspacing: 2.0 # column separation
## ***************************************************************************
## * FIGURE *
## ***************************************************************************
## See https://matplotlib.org/api/figure_api.html#matplotlib.figure.Figure
#figure.titlesize: large # size of the figure title (``Figure.suptitle()``)
#figure.titleweight: normal # weight of the figure title
#figure.figsize: 6.4, 4.8 # figure size in inches
#figure.dpi: 100 # figure dots per inch
#figure.facecolor: 21252b # figure face color
#figure.edgecolor: 21252b # figure edge color
#figure.frameon: True # enable figure frame
#figure.max_open_warning: 20 # The maximum number of figures to open through
# the pyplot interface before emitting a warning.
# If less than one this feature is disabled.
#figure.raise_window : True # Raise the GUI window to front when show() is called.
## The figure subplot parameters. All dimensions are a fraction of the figure width and height.
#figure.subplot.left: 0.125 # the left side of the subplots of the figure
#figure.subplot.right: 0.9 # the right side of the subplots of the figure
#figure.subplot.bottom: 0.11 # the bottom of the subplots of the figure
#figure.subplot.top: 0.88 # the top of the subplots of the figure
#figure.subplot.wspace: 0.2 # the amount of width reserved for space between subplots,
# expressed as a fraction of the average axis width
#figure.subplot.hspace: 0.2 # the amount of height reserved for space between subplots,
# expressed as a fraction of the average axis height
## Figure layout
#figure.autolayout: False # When True, automatically adjust subplot
# parameters to make the plot fit the figure
# using `tight_layout`
#figure.constrained_layout.use: False # When True, automatically make plot
# elements fit on the figure. (Not
# compatible with `autolayout`, above).
#figure.constrained_layout.h_pad: 0.04167 # Padding around axes objects. Float representing
#figure.constrained_layout.w_pad: 0.04167 # inches. Default is 3/72 inches (3 points)
#figure.constrained_layout.hspace: 0.02 # Space between subplot groups. Float representing
#figure.constrained_layout.wspace: 0.02 # a fraction of the subplot widths being separated.
## ***************************************************************************
## * IMAGES *
## ***************************************************************************
#image.aspect: equal # {equal, auto} or a number
#image.interpolation: antialiased # see help(imshow) for options
#image.cmap: viridis # A colormap name, gray etc...
#image.lut: 256 # the size of the colormap lookup table
#image.origin: upper # {lower, upper}
#image.resample: True
#image.composite_image: True # When True, all the images on a set of axes are
# combined into a single composite image before
# saving a figure as a vector graphics file,
# such as a PDF.
## ***************************************************************************
## * CONTOUR PLOTS *
## ***************************************************************************
#contour.negative_linestyle: dashed # string or on-off ink sequence
#contour.corner_mask: True # {True, False, legacy}
#contour.linewidth: None # {float, None} Size of the contour line
# widths. If set to None, it falls back to
# `line.linewidth`.
## ***************************************************************************
## * ERRORBAR PLOTS *
## ***************************************************************************
#errorbar.capsize: 0 # length of end cap on error bars in pixels
## ***************************************************************************
## * HISTOGRAM PLOTS *
## ***************************************************************************
#hist.bins: 10 # The default number of histogram bins or 'auto'.
## ***************************************************************************
## * SCATTER PLOTS *
## ***************************************************************************
#scatter.marker: o # The default marker type for scatter plots.
#scatter.edgecolors: face # The default edge colors for scatter plots.
## ***************************************************************************
## * AGG RENDERING *
## ***************************************************************************
## Warning: experimental, 2008/10/10
#agg.path.chunksize: 0 # 0 to disable; values in the range
# 10000 to 100000 can improve speed slightly
# and prevent an Agg rendering failure
# when plotting very large data sets,
# especially if they are very gappy.
# It may cause minor artifacts, though.
# A value of 20000 is probably a good
# starting point.
## ***************************************************************************
## * PATHS *
## ***************************************************************************
#path.simplify: True # When True, simplify paths by removing "invisible"
# points to reduce file size and increase rendering
# speed
#path.simplify_threshold: 0.111111111111 # The threshold of similarity below
# which vertices will be removed in
# the simplification process.
#path.snap: True # When True, rectilinear axis-aligned paths will be snapped
# to the nearest pixel when certain criteria are met.
# When False, paths will never be snapped.
#path.sketch: None # May be None, or a 3-tuple of the form:
# (scale, length, randomness).
# - *scale* is the amplitude of the wiggle
# perpendicular to the line (in pixels).
# - *length* is the length of the wiggle along the
# line (in pixels).
# - *randomness* is the factor by which the length is
# randomly scaled.
#path.effects:
## ***************************************************************************
## * SAVING FIGURES *
## ***************************************************************************
## The default savefig parameters can be different from the display parameters
## e.g., you may want a higher resolution, or to make the figure
## background white
#savefig.dpi: figure # figure dots per inch or 'figure'
#savefig.facecolor: 21252b # figure face color when saving
#savefig.edgecolor: 21252b # figure edge color when saving
#savefig.format: png # {png, ps, pdf, svg}
#savefig.bbox: standard # {tight, standard}
# 'tight' is incompatible with pipe-based animation
# backends (e.g. 'ffmpeg') but will work with those
# based on temporary files (e.g. 'ffmpeg_file')
#savefig.pad_inches: 0.1 # Padding to be used when bbox is set to 'tight'
#savefig.directory: ~ # default directory in savefig dialog box,
# leave empty to always use current working directory
#savefig.transparent: False # setting that controls whether figures are saved with a
# transparent background by default
#savefig.orientation: portrait # Orientation of saved figure
### tk backend params
#tk.window_focus: False # Maintain shell focus for TkAgg
### ps backend params
#ps.papersize: letter # {auto, letter, legal, ledger, A0-A10, B0-B10}
#ps.useafm: False # use of AFM fonts, results in small files
#ps.usedistiller: False # {ghostscript, xpdf, None}
# Experimental: may produce smaller files.
# xpdf intended for production of publication quality files,
# but requires ghostscript, xpdf and ps2eps
#ps.distiller.res: 6000 # dpi
#ps.fonttype: 3 # Output Type 3 (Type3) or Type 42 (TrueType)
### PDF backend params
#pdf.compression: 6 # integer from 0 to 9
# 0 disables compression (good for debugging)
#pdf.fonttype: 3 # Output Type 3 (Type3) or Type 42 (TrueType)
#pdf.use14corefonts : False
#pdf.inheritcolor: False
### SVG backend params
#svg.image_inline: True # Write raster image data directly into the SVG file
#svg.fonttype: path # How to handle SVG fonts:
# path: Embed characters as paths -- supported
# by most SVG renderers
# None: Assume fonts are installed on the
# machine where the SVG will be viewed.
#svg.hashsalt: None # If not None, use this string as hash salt instead of uuid4
### pgf parameter
## See https://matplotlib.org/tutorials/text/pgf.html for more information.
#pgf.rcfonts: True
#pgf.preamble: # See text.latex.preamble for documentation
#pgf.texsystem: xelatex
### docstring params
#docstring.hardcopy: False # set this when you want to generate hardcopy docstring
## ***************************************************************************
## * INTERACTIVE KEYMAPS *
## ***************************************************************************
## Event keys to interact with figures/plots via keyboard.
## See https://matplotlib.org/users/navigation_toolbar.html for more details on
## interactive navigation. Customize these settings according to your needs.
## Leave the field(s) empty if you don't need a key-map. (i.e., fullscreen : '')
#keymap.fullscreen: f, ctrl+f # toggling
#keymap.home: h, r, home # home or reset mnemonic
#keymap.back: left, c, backspace, MouseButton.BACK # forward / backward keys
#keymap.forward: right, v, MouseButton.FORWARD # for quick navigation
#keymap.pan: p # pan mnemonic
#keymap.zoom: o # zoom mnemonic
#keymap.save: s, ctrl+s # saving current figure
#keymap.help: f1 # display help about active tools
#keymap.quit: ctrl+w, cmd+w, q # close the current figure
#keymap.quit_all: # close all figures
#keymap.grid: g # switching on/off major grids in current axes
#keymap.grid_minor: G # switching on/off minor grids in current axes
#keymap.yscale: l # toggle scaling of y-axes ('log'/'linear')
#keymap.xscale: k, L # toggle scaling of x-axes ('log'/'linear')
#keymap.copy: ctrl+c, cmd+c # Copy figure to clipboard
## ***************************************************************************
## * ANIMATION *
## ***************************************************************************
#animation.html: none # How to display the animation as HTML in
# the IPython notebook:
# - 'html5' uses HTML5 video tag
# - 'jshtml' creates a JavaScript animation
#animation.writer: ffmpeg # MovieWriter 'backend' to use
#animation.codec: h264 # Codec to use for writing movie
#animation.bitrate: -1 # Controls size/quality trade-off for movie.
# -1 implies let utility auto-determine
#animation.frame_format: png # Controls frame format used by temp files
#animation.ffmpeg_path: ffmpeg # Path to ffmpeg binary. Without full path
# $PATH is searched
#animation.ffmpeg_args: # Additional arguments to pass to ffmpeg
#animation.convert_path: convert # Path to ImageMagick's convert binary.
# On Windows use the full path since convert
# is also the name of a system tool.
#animation.convert_args: # Additional arguments to pass to convert
#animation.embed_limit: 20.0 # Limit, in MB, of size of base64 encoded
# animation in HTML (i.e. IPython notebook)