CBD.realtime.plotting.html 71 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149
  1. <!DOCTYPE html>
  2. <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
  3. <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
  4. <head>
  5. <meta charset="utf-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>CBD.realtime.plotting module &mdash; CBD Simulation Development Kit documentation</title>
  8. <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
  9. <!-- <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> -->
  10. <link rel="stylesheet" href="_static/style.css" type="text/css" />
  11. <link rel="index" title="Index" href="genindex.html" />
  12. <link rel="search" title="Search" href="search.html" />
  13. <link rel="next" title="CBD.realtime.threadingBackend module" href="CBD.realtime.threadingBackend.html" />
  14. <link rel="prev" title="CBD.realtime.accurate_time module" href="CBD.realtime.accurate_time.html" />
  15. <script async src="https://www.googletagmanager.com/gtag/js?id=UA-167094275-1"></script>
  16. <script src="_static/js/googleanalytics.min.js"></script>
  17. <script src="_static/js/modernizr.min.js"></script>
  18. <!-- Preload the theme fonts -->
  19. <link rel="preload" href="_static/fonts/FreightSans/freight-sans-book.woff2" as="font" type="font/woff2" crossorigin="anonymous">
  20. <link rel="preload" href="_static/fonts/FreightSans/freight-sans-medium.woff2" as="font" type="font/woff2" crossorigin="anonymous">
  21. <link rel="preload" href="_static/fonts/IBMPlexMono/IBMPlexMono-Medium.woff2" as="font" type="font/woff2" crossorigin="anonymous">
  22. <link rel="preload" href="_static/fonts/FreightSans/freight-sans-bold.woff2" as="font" type="font/woff2" crossorigin="anonymous">
  23. <link rel="preload" href="_static/fonts/FreightSans/freight-sans-medium-italic.woff2" as="font" type="font/woff2" crossorigin="anonymous">
  24. <link rel="preload" href="_static/fonts/IBMPlexMono/IBMPlexMono-SemiBold.woff2" as="font" type="font/woff2" crossorigin="anonymous">
  25. <!-- Preload the katex fonts -->
  26. <link rel="preload" href="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/fonts/KaTeX_Math-Italic.woff2" as="font" type="font/woff2" crossorigin="anonymous">
  27. <link rel="preload" href="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/fonts/KaTeX_Main-Regular.woff2" as="font" type="font/woff2" crossorigin="anonymous">
  28. <link rel="preload" href="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/fonts/KaTeX_Main-Bold.woff2" as="font" type="font/woff2" crossorigin="anonymous">
  29. <link rel="preload" href="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/fonts/KaTeX_Size1-Regular.woff2" as="font" type="font/woff2" crossorigin="anonymous">
  30. <link rel="preload" href="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/fonts/KaTeX_Size4-Regular.woff2" as="font" type="font/woff2" crossorigin="anonymous">
  31. <link rel="preload" href="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/fonts/KaTeX_Size2-Regular.woff2" as="font" type="font/woff2" crossorigin="anonymous">
  32. <link rel="preload" href="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/fonts/KaTeX_Size3-Regular.woff2" as="font" type="font/woff2" crossorigin="anonymous">
  33. <link rel="preload" href="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/fonts/KaTeX_Caligraphic-Regular.woff2" as="font" type="font/woff2" crossorigin="anonymous">
  34. </head>
  35. <div class="container-fluid header-holder tutorials-header" id="header-holder">
  36. <div class="container">
  37. <div class="header-container">
  38. <a class="header-logo" href="https://catalyst-team.com/" aria-label="Catalyst"></a>
  39. <div class="main-menu">
  40. <ul>
  41. <li>
  42. <div class="ecosystem-dropdown">
  43. <a id="dropdownMenuButtonEcosystem" data-toggle="ecosystem-dropdown">
  44. Ecosystem
  45. </a>
  46. <div class="ecosystem-dropdown-menu">
  47. <a class="nav-dropdown-item" href="https://alchemy.host">
  48. <span class=dropdown-title>Alchemy</span>
  49. <p>Experiments logging & visualization</p>
  50. </a>
  51. <a class="nav-dropdown-item" href="https://github.com/catalyst-team/catalyst">
  52. <span class=dropdown-title>Catalyst</span>
  53. <p>Accelerated deep learning R&D</p>
  54. </a>
  55. <a class="nav-dropdown-item" href="https://github.com/catalyst-team/reaction">
  56. <span class=dropdown-title>Reaction</span>
  57. <p>Convenient deep learning models serving</p>
  58. </a>
  59. </div>
  60. </div>
  61. </li>
  62. <li>
  63. <div class="projects-dropdown">
  64. <a id="dropdownMenuButtonProjects" data-toggle="projects-dropdown">
  65. Projects
  66. </a>
  67. <div class="projects-dropdown-menu">
  68. <a class="nav-dropdown-item" href="https://github.com/catalyst-team/codestyle">
  69. <span class=dropdown-title>Codestyle</span>
  70. <p>Joint R&D codestyle</p>
  71. </a>
  72. <a class="nav-dropdown-item" href="https://github.com/catalyst-team/neuro">
  73. <span class=dropdown-title>Catalyst.Neuro</span>
  74. <p>Catalyst.Team and TReNDS collaborative project</p>
  75. </a>
  76. <a class="nav-dropdown-item" href="https://github.com/catalyst-team/classification">
  77. <span class=dropdown-title>Classification</span>
  78. <p>Image classification pipeline with transfer learning</p>
  79. </a>
  80. <a class="nav-dropdown-item" href="https://github.com/catalyst-team/detection">
  81. <span class=dropdown-title>Detection</span>
  82. <p>Object detection pipeline</p>
  83. </a>
  84. <a class="nav-dropdown-item" href="https://github.com/catalyst-team/segmentation">
  85. <span class=dropdown-title>Segmentation</span>
  86. <p>Image semantic segmentation pipeline</p>
  87. </a>
  88. <a class="nav-dropdown-item" href="https://github.com/catalyst-team/gan">
  89. <span class=dropdown-title>Catalyst.GAN</span>
  90. <p>GAN pipelines</p>
  91. </a>
  92. </div>
  93. </div>
  94. </li>
  95. <li>
  96. <a href="https://github.com/catalyst-team/dl-course">Deep learning course</a>
  97. </li>
  98. </ul>
  99. </div>
  100. <a class="main-menu-open-button" href="#" data-behavior="open-mobile-menu"></a>
  101. </div>
  102. </div>
  103. </div>
  104. <body class="catalyst-body">
  105. <div class="table-of-contents-link-wrapper">
  106. <span>Table of Contents</span>
  107. <a href="#" class="toggle-table-of-contents" data-behavior="toggle-table-of-contents"></a>
  108. </div>
  109. <nav data-toggle="wy-nav-shift" class="catalyst-left-menu" id="catalyst-left-menu">
  110. <div class="catalyst-side-scroll">
  111. <div class="catalyst-menu catalyst-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
  112. <div class="catalyst-left-menu-search">
  113. <div role="search">
  114. <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
  115. <input type="text" name="q" placeholder="Search Docs" />
  116. <input type="hidden" name="check_keywords" value="yes" />
  117. <input type="hidden" name="area" value="default" />
  118. </form>
  119. </div>
  120. </div>
  121. <p class="caption"><span class="caption-text">Setup</span></p>
  122. <ul class="current">
  123. <li class="toctree-l1 current"><a class="reference internal" href="install.html">How to install the CBD framework?</a></li>
  124. <li class="toctree-l1"><a class="reference internal" href="running.html">How to run a CBD simulation?</a></li>
  125. <li class="toctree-l1"><a class="reference internal" href="changelog.html">Changelog</a></li>
  126. </ul>
  127. <p class="caption"><span class="caption-text">Simple Examples</span></p>
  128. <ul>
  129. <li class="toctree-l1"><a class="reference internal" href="examples/SinGen.html">Sine Generator</a></li>
  130. <li class="toctree-l1"><a class="reference internal" href="examples/EvenNumberGen.html">Hierarchical Even Number Generator</a></li>
  131. <li class="toctree-l1"><a class="reference internal" href="examples/Fibonacci.html">Fibonacci Sequence Generator</a></li>
  132. <li class="toctree-l1"><a class="reference internal" href="examples/LCG.html">Linear Congruential Generator</a></li>
  133. </ul>
  134. <p class="caption"><span class="caption-text">Advanced Examples</span></p>
  135. <ul>
  136. <li class="toctree-l1"><a class="reference internal" href="examples/RealTime.html">Realtime Simulation</a></li>
  137. <li class="toctree-l1"><a class="reference internal" href="examples/LivePlot.html">Live Plotting of Data During the Simulation</a></li>
  138. </ul>
  139. <p class="caption"><span class="caption-text">Internal Documentation</span></p>
  140. <ul>
  141. <li class="toctree-l1"><a class="reference internal" href="CBD.html">CBD package</a></li>
  142. </ul>
  143. </div>
  144. </div>
  145. </nav>
  146. <div class="catalyst-container">
  147. <div class="catalyst-page-level-bar" id="catalyst-page-level-bar">
  148. <div class="catalyst-breadcrumbs-wrapper">
  149. <div role="navigation" aria-label="breadcrumbs navigation">
  150. <ul class="catalyst-breadcrumbs">
  151. <li>
  152. <a href="index.html">
  153. Docs
  154. </a> &gt;
  155. </li>
  156. <li><a href="install.html">How to install the CBD framework?</a> &gt;</li>
  157. <li><a href="CBD.realtime.html">CBD.realtime package</a> &gt;</li>
  158. <li>CBD.realtime.plotting module</li>
  159. <li class="catalyst-breadcrumbs-aside">
  160. </li>
  161. </ul>
  162. </div>
  163. </div>
  164. <div class="catalyst-shortcuts-wrapper" id="catalyst-shortcuts-wrapper">
  165. Shortcuts
  166. </div>
  167. </div>
  168. <section data-toggle="wy-nav-shift" id="catalyst-content-wrap" class="catalyst-content-wrap">
  169. <div class="catalyst-content-left">
  170. <div class="rst-content">
  171. <div role="main" class="main-content" itemscope="itemscope" itemtype="http://schema.org/Article">
  172. <article itemprop="articleBody" id="catalyst-article" class="catalyst-article">
  173. <div class="section" id="module-CBD.realtime.plotting">
  174. <span id="cbd-realtime-plotting-module"></span><h1>CBD.realtime.plotting module<a class="headerlink" href="#module-CBD.realtime.plotting" title="Permalink to this headline">¶</a></h1>
  175. <dl class="class">
  176. <dt id="CBD.realtime.plotting.Backend">
  177. <em class="property">class </em><code class="descclassname">CBD.realtime.plotting.</code><code class="descname">Backend</code><a class="reference internal" href="_modules/CBD/realtime/plotting.html#Backend"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.Backend" title="Permalink to this definition">¶</a></dt>
  178. <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
  179. <p>In which framework the plots need to be made.</p>
  180. <div class="admonition note">
  181. <p class="first admonition-title">Note</p>
  182. <p class="last">Some attributes won’t be available if the corresponding framework is not installed.</p>
  183. </div>
  184. <dl class="attribute">
  185. <dt id="CBD.realtime.plotting.Backend.MPL">
  186. <code class="descname">MPL</code><em class="property"> = 1</em><a class="headerlink" href="#CBD.realtime.plotting.Backend.MPL" title="Permalink to this definition">¶</a></dt>
  187. <dd><p>Use <a class="reference external" href="https://matplotlib.org/">Matplotlib</a>.</p>
  188. </dd></dl>
  189. <dl class="attribute">
  190. <dt id="CBD.realtime.plotting.Backend.MATPLOTLIB">
  191. <code class="descname">MATPLOTLIB</code><em class="property"> = 1</em><a class="headerlink" href="#CBD.realtime.plotting.Backend.MATPLOTLIB" title="Permalink to this definition">¶</a></dt>
  192. <dd><p>Use <a class="reference external" href="https://matplotlib.org/">Matplotlib</a>.</p>
  193. </dd></dl>
  194. <dl class="attribute">
  195. <dt id="CBD.realtime.plotting.Backend.BOKEH">
  196. <code class="descname">BOKEH</code><em class="property"> = 2</em><a class="headerlink" href="#CBD.realtime.plotting.Backend.BOKEH" title="Permalink to this definition">¶</a></dt>
  197. <dd><p>Use <a class="reference external" href="//docs.bokeh.org/en/latest/index.html">Bokeh</a>.</p>
  198. <div class="admonition important">
  199. <p class="first admonition-title">Important</p>
  200. <p>For <code class="code docutils literal notranslate"><span class="pre">BOKEH</span></code>, a server must be started with:</p>
  201. <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>bokeh serve
  202. </pre></div>
  203. </div>
  204. <div class="last line-block">
  205. <div class="line"><br /></div>
  206. </div>
  207. </div>
  208. <div class="admonition attention">
  209. <p class="first admonition-title">Attention</p>
  210. <p class="last">This backend is still in beta.</p>
  211. </div>
  212. </dd></dl>
  213. <dl class="staticmethod">
  214. <dt id="CBD.realtime.plotting.Backend.exists">
  215. <em class="property">static </em><code class="descname">exists</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#Backend.exists"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.Backend.exists" title="Permalink to this definition">¶</a></dt>
  216. <dd><p>Checks that a given backend exists.</p>
  217. </dd></dl>
  218. </dd></dl>
  219. <dl class="class">
  220. <dt id="CBD.realtime.plotting.PlotHandler">
  221. <em class="property">class </em><code class="descclassname">CBD.realtime.plotting.</code><code class="descname">PlotHandler</code><span class="sig-paren">(</span><em>object</em>, <em>figure</em>, <em>kind</em>, <em>backend=1</em>, <em>interval=100</em>, <em>frames=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#PlotHandler"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.PlotHandler" title="Permalink to this definition">¶</a></dt>
  222. <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
  223. <p>Handles Real-Time plotting, independent of a plotting framework.</p>
  224. <p>Every <code class="code docutils literal notranslate"><span class="pre">interval</span></code> time, data will be polled from the <code class="code docutils literal notranslate"><span class="pre">object</span></code>,
  225. w.r.t. the given plotting <code class="code docutils literal notranslate"><span class="pre">backend</span></code>. The handler will use the knowledge
  226. of a backend to determine how the given <code class="code docutils literal notranslate"><span class="pre">figure</span></code> must be updated.</p>
  227. <p>This class can be used in any simulation context, where plotting data can be
  228. polled from an object or a resource.</p>
  229. <div class="admonition note">
  230. <p class="first admonition-title">Note</p>
  231. <p class="last">While technically framework-independent, matplotlib has the least external
  232. overhead in your code.</p>
  233. </div>
  234. <div class="admonition tip">
  235. <p class="first admonition-title">Tip</p>
  236. <p class="last">When using multiple plots/plotting instances, you should make use of the
  237. <a class="reference internal" href="#CBD.realtime.plotting.PlotManager" title="CBD.realtime.plotting.PlotManager"><code class="xref py py-class docutils literal notranslate"><span class="pre">PlotManager</span></code></a>.</p>
  238. </div>
  239. <div class="admonition warning">
  240. <p class="first admonition-title">Warning</p>
  241. <p class="last">Bokeh is still in beta. Not all features will work as required.</p>
  242. </div>
  243. <table class="docutils field-list" frame="void" rules="none">
  244. <col class="field-name" />
  245. <col class="field-body" />
  246. <tbody valign="top">
  247. <tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><p class="first"><code class="xref py py-exc docutils literal notranslate"><span class="pre">AssertionError</span></code> – if the backend cannot be located.</p>
  248. </td>
  249. </tr>
  250. <tr class="field-even field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
  251. <li><strong>object</strong> (<em>Any</em>) – The object from which data needs to be polled. By default,
  252. the <code class="code docutils literal notranslate"><span class="pre">data_xy</span></code> attribute will be used on the object,
  253. which should result in a 2xN array in the form of
  254. <code class="code docutils literal notranslate"><span class="pre">([x1,</span> <span class="pre">x2,</span> <span class="pre">x3...],</span> <span class="pre">[y1,</span> <span class="pre">y2,</span> <span class="pre">y3...])</span></code>. Change this
  255. behaviour with the <a class="reference internal" href="#CBD.realtime.plotting.PlotHandler.set_data_getter" title="CBD.realtime.plotting.PlotHandler.set_data_getter"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_data_getter()</span></code></a> function.</li>
  256. <li><strong>figure</strong> – <p>The figure object required for plotting. This has been made
  257. externally to allow for full manipulation of the plotting
  258. framework itself. The following explains the axxepted data
  259. types:</p>
  260. <ul>
  261. <li><strong>matplotlib:</strong> Tuple (pair) of <code class="code docutils literal notranslate"><span class="pre">(Figure,</span> <span class="pre">Axes)</span></code></li>
  262. <li><strong>bokeh:</strong> <code class="code docutils literal notranslate"><span class="pre">Figure</span></code></li>
  263. </ul>
  264. </li>
  265. <li><strong>kind</strong> (<a class="reference internal" href="#CBD.realtime.plotting.PlotKind" title="CBD.realtime.plotting.PlotKind"><em>PlotKind</em></a>) – What needs to be plotted. See <a class="reference internal" href="#CBD.realtime.plotting.PlotKind" title="CBD.realtime.plotting.PlotKind"><code class="xref py py-class docutils literal notranslate"><span class="pre">PlotKind</span></code></a> for more
  266. info.</li>
  267. <li><strong>backend</strong> (<a class="reference internal" href="#CBD.realtime.plotting.Backend" title="CBD.realtime.plotting.Backend"><em>Backend</em></a>) – The backend to use for plotting. Defaults to
  268. <a class="reference internal" href="#CBD.realtime.plotting.Backend.MPL" title="CBD.realtime.plotting.Backend.MPL"><code class="xref py py-attr docutils literal notranslate"><span class="pre">Backend.MPL</span></code></a> (= matplotlib).</li>
  269. <li><strong>interval</strong> (<em>int</em>) – Amount of milliseconds between plot refreshes.</li>
  270. <li><strong>frames</strong> (<em>int</em>) – The amount of frames for the animation. Only used if the
  271. animation needs to be saved.</li>
  272. </ul>
  273. </td>
  274. </tr>
  275. </tbody>
  276. </table>
  277. <div class="admonition seealso">
  278. <p class="first admonition-title">See also</p>
  279. <ul class="last simple">
  280. <li><a class="reference internal" href="#CBD.realtime.plotting.Backend" title="CBD.realtime.plotting.Backend"><code class="xref py py-class docutils literal notranslate"><span class="pre">Backend</span></code></a></li>
  281. <li><a class="reference internal" href="#CBD.realtime.plotting.PlotKind" title="CBD.realtime.plotting.PlotKind"><code class="xref py py-class docutils literal notranslate"><span class="pre">PlotKind</span></code></a></li>
  282. <li><a class="reference internal" href="#CBD.realtime.plotting.PlotManager" title="CBD.realtime.plotting.PlotManager"><code class="xref py py-class docutils literal notranslate"><span class="pre">PlotManager</span></code></a></li>
  283. </ul>
  284. </div>
  285. <dl class="method">
  286. <dt id="CBD.realtime.plotting.PlotHandler.signal">
  287. <code class="descname">signal</code><span class="sig-paren">(</span><em>name</em>, <em>*args</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#PlotHandler.signal"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.PlotHandler.signal" title="Permalink to this definition">¶</a></dt>
  288. <dd><p>Raise a signal with a specific name and arguments.</p>
  289. <p>The accepted signals are:</p>
  290. <ul class="simple">
  291. <li><code class="code docutils literal notranslate"><span class="pre">update_event(data)</span></code>: Raised whenever the plot updates. It takes the
  292. new plot data that has been polled.</li>
  293. <li><code class="code docutils literal notranslate"><span class="pre">close_event</span></code>: Raised whenever the plot closes. No additional arguments
  294. are associated with this event.</li>
  295. </ul>
  296. <div class="admonition note">
  297. <p class="first admonition-title">Note</p>
  298. <p class="last">Normally, users do not need to call this function.</p>
  299. </div>
  300. <table class="docutils field-list" frame="void" rules="none">
  301. <col class="field-name" />
  302. <col class="field-body" />
  303. <tbody valign="top">
  304. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
  305. <li><strong>name</strong> (<em>str</em>) – The name of the signal to raise.</li>
  306. <li><strong>*args</strong> – Additional arguments to pass to the connected events.</li>
  307. </ul>
  308. </td>
  309. </tr>
  310. </tbody>
  311. </table>
  312. <div class="admonition seealso">
  313. <p class="first admonition-title">See also</p>
  314. <ul class="last simple">
  315. <li><a class="reference internal" href="#CBD.realtime.plotting.PlotHandler.connect" title="CBD.realtime.plotting.PlotHandler.connect"><code class="xref py py-func docutils literal notranslate"><span class="pre">PlotHandler.connect()</span></code></a></li>
  316. <li><a class="reference internal" href="#CBD.realtime.plotting.PlotManager.connect" title="CBD.realtime.plotting.PlotManager.connect"><code class="xref py py-func docutils literal notranslate"><span class="pre">PlotManager.connect()</span></code></a></li>
  317. <li><a class="reference internal" href="#CBD.realtime.plotting.follow" title="CBD.realtime.plotting.follow"><code class="xref py py-func docutils literal notranslate"><span class="pre">follow()</span></code></a></li>
  318. </ul>
  319. </div>
  320. </dd></dl>
  321. <dl class="method">
  322. <dt id="CBD.realtime.plotting.PlotHandler.connect">
  323. <code class="descname">connect</code><span class="sig-paren">(</span><em>name</em>, <em>function</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#PlotHandler.connect"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.PlotHandler.connect" title="Permalink to this definition">¶</a></dt>
  324. <dd><p>Connect an event with an additional function.
  325. Useful for e.g. updating the plot axes w.r.t. the data.</p>
  326. <p>The functions will be called in the order they were connected to the
  327. events, with the associated arguments. The accepted signals are:</p>
  328. <ul class="simple">
  329. <li><code class="code docutils literal notranslate"><span class="pre">update_event(data)</span></code>: Raised whenever the plot updates. It takes the
  330. new plot data that has been polled.</li>
  331. <li><code class="code docutils literal notranslate"><span class="pre">close_event</span></code>: Raised whenever the plot closes. No additional arguments
  332. are associated with this event.</li>
  333. </ul>
  334. <table class="docutils field-list" frame="void" rules="none">
  335. <col class="field-name" />
  336. <col class="field-body" />
  337. <tbody valign="top">
  338. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
  339. <li><strong>name</strong> (<em>str</em>) – The name of the signal to raise.</li>
  340. <li><strong>function</strong> – A function that will be called with the optional arguments
  341. whenever the event is raised.</li>
  342. </ul>
  343. </td>
  344. </tr>
  345. </tbody>
  346. </table>
  347. <div class="admonition seealso">
  348. <p class="first admonition-title">See also</p>
  349. <ul class="last simple">
  350. <li><a class="reference internal" href="#CBD.realtime.plotting.PlotHandler.signal" title="CBD.realtime.plotting.PlotHandler.signal"><code class="xref py py-func docutils literal notranslate"><span class="pre">PlotHandler.signal()</span></code></a></li>
  351. <li><a class="reference internal" href="#CBD.realtime.plotting.PlotManager.connect" title="CBD.realtime.plotting.PlotManager.connect"><code class="xref py py-func docutils literal notranslate"><span class="pre">PlotManager.connect()</span></code></a></li>
  352. <li><a class="reference internal" href="#CBD.realtime.plotting.follow" title="CBD.realtime.plotting.follow"><code class="xref py py-func docutils literal notranslate"><span class="pre">follow()</span></code></a></li>
  353. </ul>
  354. </div>
  355. </dd></dl>
  356. <dl class="method">
  357. <dt id="CBD.realtime.plotting.PlotHandler.set_data_getter">
  358. <code class="descname">set_data_getter</code><span class="sig-paren">(</span><em>function</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#PlotHandler.set_data_getter"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.PlotHandler.set_data_getter" title="Permalink to this definition">¶</a></dt>
  359. <dd><p>Sets the data getter function call. By default, the <code class="code docutils literal notranslate"><span class="pre">data_xy</span></code> attribute
  360. is polled, but this function provides the flexibility to alter this behaviour.</p>
  361. <table class="docutils field-list" frame="void" rules="none">
  362. <col class="field-name" />
  363. <col class="field-body" />
  364. <tbody valign="top">
  365. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>function</strong> – The function to obtain the data. Takes the <code class="code docutils literal notranslate"><span class="pre">object</span></code> as an
  366. input and should return a 2xN array in the form of
  367. <code class="code docutils literal notranslate"><span class="pre">([x1,</span> <span class="pre">x2,</span> <span class="pre">x3...],</span> <span class="pre">[y1,</span> <span class="pre">y2,</span> <span class="pre">y3...])</span></code>.</td>
  368. </tr>
  369. </tbody>
  370. </table>
  371. </dd></dl>
  372. <dl class="method">
  373. <dt id="CBD.realtime.plotting.PlotHandler.get_data">
  374. <code class="descname">get_data</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#PlotHandler.get_data"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.PlotHandler.get_data" title="Permalink to this definition">¶</a></dt>
  375. <dd><p>Actually gets the data from the object.</p>
  376. </dd></dl>
  377. <dl class="method">
  378. <dt id="CBD.realtime.plotting.PlotHandler.get_animation">
  379. <code class="descname">get_animation</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#PlotHandler.get_animation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.PlotHandler.get_animation" title="Permalink to this definition">¶</a></dt>
  380. <dd><p>Returns the animation object, if MatPlotLib is used as a backend.</p>
  381. </dd></dl>
  382. <dl class="method">
  383. <dt id="CBD.realtime.plotting.PlotHandler.close_plot">
  384. <code class="descname">close_plot</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#PlotHandler.close_plot"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.PlotHandler.close_plot" title="Permalink to this definition">¶</a></dt>
  385. <dd><p>Closes the plot/figure associated with this handler.</p>
  386. <div class="admonition seealso">
  387. <p class="first admonition-title">See also</p>
  388. <p class="last"><a class="reference internal" href="#CBD.realtime.plotting.PlotHandler.close_event" title="CBD.realtime.plotting.PlotHandler.close_event"><code class="xref py py-func docutils literal notranslate"><span class="pre">PlotHandler.close_event()</span></code></a></p>
  389. </div>
  390. </dd></dl>
  391. <dl class="method">
  392. <dt id="CBD.realtime.plotting.PlotHandler.close_event">
  393. <code class="descname">close_event</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#PlotHandler.close_event"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.PlotHandler.close_event" title="Permalink to this definition">¶</a></dt>
  394. <dd><p>Closes the plots and raises the <cite>close_event</cite> signal.</p>
  395. </dd></dl>
  396. <dl class="method">
  397. <dt id="CBD.realtime.plotting.PlotHandler.is_opened">
  398. <code class="descname">is_opened</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#PlotHandler.is_opened"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.PlotHandler.is_opened" title="Permalink to this definition">¶</a></dt>
  399. <dd><p>Checks if the plots are still open.</p>
  400. </dd></dl>
  401. <dl class="method">
  402. <dt id="CBD.realtime.plotting.PlotHandler.update">
  403. <code class="descname">update</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#PlotHandler.update"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.PlotHandler.update" title="Permalink to this definition">¶</a></dt>
  404. <dd><p>Updates the plot information.</p>
  405. </dd></dl>
  406. </dd></dl>
  407. <dl class="function">
  408. <dt id="CBD.realtime.plotting.follow">
  409. <code class="descclassname">CBD.realtime.plotting.</code><code class="descname">follow</code><span class="sig-paren">(</span><em>data</em>, <em>size</em>, <em>lower_bound=-inf</em>, <em>upper_bound=inf</em>, <em>perc_keep=0.5</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#follow"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.follow" title="Permalink to this definition">¶</a></dt>
  410. <dd><p>Compute the new limits for the given dataset if the last data point must be followed.
  411. This is a convenience function for updating the plotting axes’ limits. Whenever not
  412. enough data is available, the axis won’t scale down.</p>
  413. <table class="docutils field-list" frame="void" rules="none">
  414. <col class="field-name" />
  415. <col class="field-body" />
  416. <tbody valign="top">
  417. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
  418. <li><strong>data</strong> (<em>list</em>) – The data that must be plotted on the axes. Can be a
  419. shortened version of only the final n values (n &gt; 0).</li>
  420. <li><strong>size</strong> (<em>float</em>) – The total size of the axis to show, even if the data
  421. did not get there.</li>
  422. <li><strong>lower_bound</strong> (<em>float</em>) – The lower bound of the axis, i.e. the minimal value to
  423. show, even if the data lies outside of this interval.
  424. Defaults to <code class="code docutils literal notranslate"><span class="pre">-float('inf')</span></code> (-infinity = no limit).</li>
  425. <li><strong>upper_bound</strong> (<em>float</em>) – The upper bound of the axis, i.e. the maximal value to
  426. show, even if the data lies outside of this interval.
  427. Defaults to <code class="code docutils literal notranslate"><span class="pre">float('inf')</span></code> (infinity = no limit).</li>
  428. <li><strong>perc_keep</strong> (<em>float</em>) – The percentage at which the final data point must be
  429. shown. When <code class="code docutils literal notranslate"><span class="pre">0.0</span></code>, this point is the lowest value
  430. shown. When <code class="code docutils literal notranslate"><span class="pre">1.0</span></code>, this point is the highest value
  431. shown. Use this value to change how “centered” the last
  432. datapoint will be. When the axis grows in a positive
  433. direction, a value of <code class="code docutils literal notranslate"><span class="pre">0.0</span></code> will never show the
  434. data. When growing negatively, the opposite is true:
  435. the data will not be shown for a value of <code class="code docutils literal notranslate"><span class="pre">1.0</span></code>.
  436. Defaults to <code class="code docutils literal notranslate"><span class="pre">0.5</span></code> (= the middle).</li>
  437. </ul>
  438. </td>
  439. </tr>
  440. </tbody>
  441. </table>
  442. <div class="admonition danger">
  443. <p class="first admonition-title">Danger</p>
  444. <ul class="last simple">
  445. <li>The lower bound must be strictly smaller than the upper bound.</li>
  446. <li>The size cannot be larger than the distance between the bounds.</li>
  447. </ul>
  448. </div>
  449. <p class="rubric">Examples</p>
  450. <ul class="simple">
  451. <li>Follow a sine wave in the positive-x direction, always keeping a width of 10, in matplotlib.</li>
  452. </ul>
  453. <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">manager</span> <span class="o">=</span> <span class="n">PlotManager</span><span class="p">()</span>
  454. <span class="n">manager</span><span class="o">.</span><span class="n">register</span><span class="p">(</span><span class="s2">&quot;sin&quot;</span><span class="p">,</span> <span class="n">cbd</span><span class="o">.</span><span class="n">findBlock</span><span class="p">(</span><span class="s2">&quot;plot&quot;</span><span class="p">)[</span><span class="mi">0</span><span class="p">],</span> <span class="p">(</span><span class="n">fig</span><span class="p">,</span> <span class="n">ax</span><span class="p">),</span> <span class="n">LinePlot</span><span class="p">())</span>
  455. <span class="n">manager</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="s1">&#39;sin&#39;</span><span class="p">,</span> <span class="s1">&#39;update_event&#39;</span><span class="p">,</span> <span class="k">lambda</span> <span class="n">d</span><span class="p">,</span> <span class="n">a</span><span class="o">=</span><span class="n">ax</span><span class="p">:</span> <span class="n">a</span><span class="o">.</span><span class="n">set_xlim</span><span class="p">(</span><span class="n">follow</span><span class="p">(</span><span class="n">d</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="mf">10.0</span><span class="p">,</span> <span class="n">lower_bound</span><span class="o">=</span><span class="mf">0.0</span><span class="p">)))</span>
  456. </pre></div>
  457. </div>
  458. <ul class="simple">
  459. <li>Follow a sine wave in the negative-x direction, always keeping a width of 10, in matplotlib.</li>
  460. </ul>
  461. <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">manager</span> <span class="o">=</span> <span class="n">PlotManager</span><span class="p">()</span>
  462. <span class="n">manager</span><span class="o">.</span><span class="n">register</span><span class="p">(</span><span class="s2">&quot;sin&quot;</span><span class="p">,</span> <span class="n">cbd</span><span class="o">.</span><span class="n">findBlock</span><span class="p">(</span><span class="s2">&quot;plot&quot;</span><span class="p">)[</span><span class="mi">0</span><span class="p">],</span> <span class="p">(</span><span class="n">fig</span><span class="p">,</span> <span class="n">ax</span><span class="p">),</span> <span class="n">LinePlot</span><span class="p">())</span>
  463. <span class="n">manager</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="s1">&#39;sin&#39;</span><span class="p">,</span> <span class="s1">&#39;update_event&#39;</span><span class="p">,</span> <span class="k">lambda</span> <span class="n">d</span><span class="p">,</span> <span class="n">a</span><span class="o">=</span><span class="n">ax</span><span class="p">:</span> <span class="n">a</span><span class="o">.</span><span class="n">set_xlim</span><span class="p">(</span><span class="n">follow</span><span class="p">(</span><span class="n">d</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="mf">10.0</span><span class="p">,</span> <span class="n">upper_bound</span><span class="o">=</span><span class="mf">0.0</span><span class="p">)))</span>
  464. </pre></div>
  465. </div>
  466. <ul class="simple">
  467. <li>Follow a positive sine-wave, but keep a 10% margin from the right edge of the plot, in matplotlib.</li>
  468. </ul>
  469. <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">manager</span> <span class="o">=</span> <span class="n">PlotManager</span><span class="p">()</span>
  470. <span class="n">manager</span><span class="o">.</span><span class="n">register</span><span class="p">(</span><span class="s2">&quot;sin&quot;</span><span class="p">,</span> <span class="n">cbd</span><span class="o">.</span><span class="n">findBlock</span><span class="p">(</span><span class="s2">&quot;plot&quot;</span><span class="p">)[</span><span class="mi">0</span><span class="p">],</span> <span class="p">(</span><span class="n">fig</span><span class="p">,</span> <span class="n">ax</span><span class="p">),</span> <span class="n">LinePlot</span><span class="p">())</span>
  471. <span class="n">manager</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="s1">&#39;sin&#39;</span><span class="p">,</span> <span class="s1">&#39;update_event&#39;</span><span class="p">,</span> <span class="k">lambda</span> <span class="n">d</span><span class="p">,</span> <span class="n">a</span><span class="o">=</span><span class="n">ax</span><span class="p">:</span> <span class="n">a</span><span class="o">.</span><span class="n">set_xlim</span><span class="p">(</span><span class="n">follow</span><span class="p">(</span><span class="n">d</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="mf">10.0</span><span class="p">,</span> <span class="mf">0.0</span><span class="p">,</span> <span class="n">perc_keep</span><span class="o">=</span><span class="mf">0.9</span><span class="p">)))</span>
  472. </pre></div>
  473. </div>
  474. </dd></dl>
  475. <dl class="class">
  476. <dt id="CBD.realtime.plotting.PlotKind">
  477. <em class="property">class </em><code class="descclassname">CBD.realtime.plotting.</code><code class="descname">PlotKind</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#PlotKind"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.PlotKind" title="Permalink to this definition">¶</a></dt>
  478. <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
  479. <p>The kind of plot that needs to be rendered. This class is an abstract superclass.</p>
  480. <p>Not all backends provide the same functionality for plotting the same shape.
  481. This class provides a wrapper around all those functionalities to allow for users
  482. that they only need to change the figure information.</p>
  483. <table class="docutils field-list" frame="void" rules="none">
  484. <col class="field-name" />
  485. <col class="field-body" />
  486. <tbody valign="top">
  487. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
  488. <li><strong>*args</strong> – The arguments to add to the ‘shape’, excluding the data points.</li>
  489. <li><strong>**kwargs</strong> – The keyword arguments to add to the ‘shape’.</li>
  490. </ul>
  491. </td>
  492. </tr>
  493. </tbody>
  494. </table>
  495. <div class="admonition seealso">
  496. <p class="first admonition-title">See also</p>
  497. <ul class="last simple">
  498. <li><a class="reference internal" href="#CBD.realtime.plotting.LinePlot" title="CBD.realtime.plotting.LinePlot"><code class="xref py py-class docutils literal notranslate"><span class="pre">LinePlot</span></code></a></li>
  499. <li><a class="reference internal" href="#CBD.realtime.plotting.StepPlot" title="CBD.realtime.plotting.StepPlot"><code class="xref py py-class docutils literal notranslate"><span class="pre">StepPlot</span></code></a></li>
  500. <li><a class="reference internal" href="#CBD.realtime.plotting.ScatterPlot" title="CBD.realtime.plotting.ScatterPlot"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScatterPlot</span></code></a></li>
  501. <li>Information on the individual plot instances in the corresponding frameworks.</li>
  502. </ul>
  503. </div>
  504. <dl class="method">
  505. <dt id="CBD.realtime.plotting.PlotKind.is_backend">
  506. <code class="descname">is_backend</code><span class="sig-paren">(</span><em>backend</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#PlotKind.is_backend"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.PlotKind.is_backend" title="Permalink to this definition">¶</a></dt>
  507. <dd><p>Checks the backend for the plot.</p>
  508. </dd></dl>
  509. <dl class="method">
  510. <dt id="CBD.realtime.plotting.PlotKind.create">
  511. <code class="descname">create</code><span class="sig-paren">(</span><em>figure</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#PlotKind.create"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.PlotKind.create" title="Permalink to this definition">¶</a></dt>
  512. <dd><p>Called when the figure is first created in the manager.</p>
  513. <table class="docutils field-list" frame="void" rules="none">
  514. <col class="field-name" />
  515. <col class="field-body" />
  516. <tbody valign="top">
  517. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The ‘shape’ information that is created on the plot.</td>
  518. </tr>
  519. </tbody>
  520. </table>
  521. </dd></dl>
  522. <dl class="method">
  523. <dt id="CBD.realtime.plotting.PlotKind.update">
  524. <code class="descname">update</code><span class="sig-paren">(</span><em>element</em>, <em>*data</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#PlotKind.update"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.PlotKind.update" title="Permalink to this definition">¶</a></dt>
  525. <dd><p>Called when the figure is updated in the manager.</p>
  526. <table class="docutils field-list" frame="void" rules="none">
  527. <col class="field-name" />
  528. <col class="field-body" />
  529. <tbody valign="top">
  530. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
  531. <li><strong>element</strong> – The shape that was returned from the <a class="reference internal" href="#CBD.realtime.plotting.PlotKind.create" title="CBD.realtime.plotting.PlotKind.create"><code class="xref py py-func docutils literal notranslate"><span class="pre">PlotKind.create()</span></code></a>
  532. method.</li>
  533. <li><strong>*data</strong> – The data with which to update the plot.</li>
  534. </ul>
  535. </td>
  536. </tr>
  537. </tbody>
  538. </table>
  539. </dd></dl>
  540. </dd></dl>
  541. <dl class="class">
  542. <dt id="CBD.realtime.plotting.LinePlot">
  543. <em class="property">class </em><code class="descclassname">CBD.realtime.plotting.</code><code class="descname">LinePlot</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#LinePlot"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.LinePlot" title="Permalink to this definition">¶</a></dt>
  544. <dd><p>Bases: <a class="reference internal" href="#CBD.realtime.plotting.PlotKind" title="CBD.realtime.plotting.PlotKind"><code class="xref py py-class docutils literal notranslate"><span class="pre">CBD.realtime.plotting.PlotKind</span></code></a></p>
  545. <p>Draws a line between all given coordinates.</p>
  546. <dl class="docutils">
  547. <dt>Backend Information:</dt>
  548. <dd><ul class="first last simple">
  549. <li><strong>matplotlib:</strong> <code class="xref py py-func docutils literal notranslate"><span class="pre">matplotlib.axes.Axes.plot()</span></code></li>
  550. <li><strong>bokeh:</strong> <code class="xref py py-func docutils literal notranslate"><span class="pre">bokeh.plotting.Figure.line()</span></code></li>
  551. </ul>
  552. </dd>
  553. </dl>
  554. <div class="admonition seealso">
  555. <p class="first admonition-title">See also</p>
  556. <ul class="last simple">
  557. <li><a class="reference internal" href="#CBD.realtime.plotting.PlotKind" title="CBD.realtime.plotting.PlotKind"><code class="xref py py-class docutils literal notranslate"><span class="pre">PlotKind</span></code></a></li>
  558. <li><a class="reference internal" href="#CBD.realtime.plotting.StepPlot" title="CBD.realtime.plotting.StepPlot"><code class="xref py py-class docutils literal notranslate"><span class="pre">StepPlot</span></code></a></li>
  559. <li><a class="reference internal" href="#CBD.realtime.plotting.ScatterPlot" title="CBD.realtime.plotting.ScatterPlot"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScatterPlot</span></code></a></li>
  560. </ul>
  561. </div>
  562. <dl class="method">
  563. <dt id="CBD.realtime.plotting.LinePlot.create">
  564. <code class="descname">create</code><span class="sig-paren">(</span><em>figure</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#LinePlot.create"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.LinePlot.create" title="Permalink to this definition">¶</a></dt>
  565. <dd><p>Called when the figure is first created in the manager.</p>
  566. <table class="docutils field-list" frame="void" rules="none">
  567. <col class="field-name" />
  568. <col class="field-body" />
  569. <tbody valign="top">
  570. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The ‘shape’ information that is created on the plot.</td>
  571. </tr>
  572. </tbody>
  573. </table>
  574. </dd></dl>
  575. <dl class="method">
  576. <dt id="CBD.realtime.plotting.LinePlot.update">
  577. <code class="descname">update</code><span class="sig-paren">(</span><em>element</em>, <em>*data</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#LinePlot.update"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.LinePlot.update" title="Permalink to this definition">¶</a></dt>
  578. <dd><p>Called when the figure is updated in the manager.</p>
  579. <table class="docutils field-list" frame="void" rules="none">
  580. <col class="field-name" />
  581. <col class="field-body" />
  582. <tbody valign="top">
  583. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
  584. <li><strong>element</strong> – The shape that was returned from the <a class="reference internal" href="#CBD.realtime.plotting.PlotKind.create" title="CBD.realtime.plotting.PlotKind.create"><code class="xref py py-func docutils literal notranslate"><span class="pre">PlotKind.create()</span></code></a>
  585. method.</li>
  586. <li><strong>*data</strong> – The data with which to update the plot.</li>
  587. </ul>
  588. </td>
  589. </tr>
  590. </tbody>
  591. </table>
  592. </dd></dl>
  593. </dd></dl>
  594. <dl class="class">
  595. <dt id="CBD.realtime.plotting.StepPlot">
  596. <em class="property">class </em><code class="descclassname">CBD.realtime.plotting.</code><code class="descname">StepPlot</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#StepPlot"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.StepPlot" title="Permalink to this definition">¶</a></dt>
  597. <dd><p>Bases: <a class="reference internal" href="#CBD.realtime.plotting.PlotKind" title="CBD.realtime.plotting.PlotKind"><code class="xref py py-class docutils literal notranslate"><span class="pre">CBD.realtime.plotting.PlotKind</span></code></a></p>
  598. <p>Draws a stepped line between all given coordinates.
  599. See the corresponding backend information to change the step “levels”.</p>
  600. <dl class="docutils">
  601. <dt>Backend Information:</dt>
  602. <dd><ul class="first last simple">
  603. <li><strong>matplotlib:</strong> <code class="xref py py-func docutils literal notranslate"><span class="pre">matplotlib.axes.Axes.step()</span></code></li>
  604. <li><strong>bokeh:</strong> <code class="xref py py-func docutils literal notranslate"><span class="pre">bokeh.plotting.Figure.step()</span></code></li>
  605. </ul>
  606. </dd>
  607. </dl>
  608. <div class="admonition seealso">
  609. <p class="first admonition-title">See also</p>
  610. <ul class="last simple">
  611. <li><a class="reference internal" href="#CBD.realtime.plotting.PlotKind" title="CBD.realtime.plotting.PlotKind"><code class="xref py py-class docutils literal notranslate"><span class="pre">PlotKind</span></code></a></li>
  612. <li><a class="reference internal" href="#CBD.realtime.plotting.LinePlot" title="CBD.realtime.plotting.LinePlot"><code class="xref py py-class docutils literal notranslate"><span class="pre">LinePlot</span></code></a></li>
  613. <li><a class="reference internal" href="#CBD.realtime.plotting.StepPlot" title="CBD.realtime.plotting.StepPlot"><code class="xref py py-class docutils literal notranslate"><span class="pre">StepPlot</span></code></a></li>
  614. </ul>
  615. </div>
  616. <dl class="method">
  617. <dt id="CBD.realtime.plotting.StepPlot.create">
  618. <code class="descname">create</code><span class="sig-paren">(</span><em>figure</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#StepPlot.create"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.StepPlot.create" title="Permalink to this definition">¶</a></dt>
  619. <dd><p>Called when the figure is first created in the manager.</p>
  620. <table class="docutils field-list" frame="void" rules="none">
  621. <col class="field-name" />
  622. <col class="field-body" />
  623. <tbody valign="top">
  624. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The ‘shape’ information that is created on the plot.</td>
  625. </tr>
  626. </tbody>
  627. </table>
  628. </dd></dl>
  629. <dl class="method">
  630. <dt id="CBD.realtime.plotting.StepPlot.update">
  631. <code class="descname">update</code><span class="sig-paren">(</span><em>element</em>, <em>*data</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#StepPlot.update"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.StepPlot.update" title="Permalink to this definition">¶</a></dt>
  632. <dd><p>Called when the figure is updated in the manager.</p>
  633. <table class="docutils field-list" frame="void" rules="none">
  634. <col class="field-name" />
  635. <col class="field-body" />
  636. <tbody valign="top">
  637. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
  638. <li><strong>element</strong> – The shape that was returned from the <a class="reference internal" href="#CBD.realtime.plotting.PlotKind.create" title="CBD.realtime.plotting.PlotKind.create"><code class="xref py py-func docutils literal notranslate"><span class="pre">PlotKind.create()</span></code></a>
  639. method.</li>
  640. <li><strong>*data</strong> – The data with which to update the plot.</li>
  641. </ul>
  642. </td>
  643. </tr>
  644. </tbody>
  645. </table>
  646. </dd></dl>
  647. </dd></dl>
  648. <dl class="class">
  649. <dt id="CBD.realtime.plotting.ScatterPlot">
  650. <em class="property">class </em><code class="descclassname">CBD.realtime.plotting.</code><code class="descname">ScatterPlot</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#ScatterPlot"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.ScatterPlot" title="Permalink to this definition">¶</a></dt>
  651. <dd><p>Bases: <a class="reference internal" href="#CBD.realtime.plotting.PlotKind" title="CBD.realtime.plotting.PlotKind"><code class="xref py py-class docutils literal notranslate"><span class="pre">CBD.realtime.plotting.PlotKind</span></code></a></p>
  652. <p>Draws all given coordinates as points in a 2D space.
  653. See the corresponding backend information to change the shape of the indicators.</p>
  654. <dl class="docutils">
  655. <dt>Backend Information:</dt>
  656. <dd><ul class="first last simple">
  657. <li><strong>matplotlib:</strong> <code class="xref py py-func docutils literal notranslate"><span class="pre">matplotlib.axes.Axes.scatter()</span></code></li>
  658. <li><strong>bokeh:</strong> <code class="xref py py-func docutils literal notranslate"><span class="pre">bokeh.plotting.Figure.scatter()</span></code></li>
  659. </ul>
  660. </dd>
  661. </dl>
  662. <div class="admonition seealso">
  663. <p class="first admonition-title">See also</p>
  664. <ul class="last simple">
  665. <li><a class="reference internal" href="#CBD.realtime.plotting.PlotKind" title="CBD.realtime.plotting.PlotKind"><code class="xref py py-class docutils literal notranslate"><span class="pre">PlotKind</span></code></a></li>
  666. <li><a class="reference internal" href="#CBD.realtime.plotting.LinePlot" title="CBD.realtime.plotting.LinePlot"><code class="xref py py-class docutils literal notranslate"><span class="pre">LinePlot</span></code></a></li>
  667. <li><a class="reference internal" href="#CBD.realtime.plotting.StepPlot" title="CBD.realtime.plotting.StepPlot"><code class="xref py py-class docutils literal notranslate"><span class="pre">StepPlot</span></code></a></li>
  668. </ul>
  669. </div>
  670. <dl class="method">
  671. <dt id="CBD.realtime.plotting.ScatterPlot.create">
  672. <code class="descname">create</code><span class="sig-paren">(</span><em>figure</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#ScatterPlot.create"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.ScatterPlot.create" title="Permalink to this definition">¶</a></dt>
  673. <dd><p>Called when the figure is first created in the manager.</p>
  674. <table class="docutils field-list" frame="void" rules="none">
  675. <col class="field-name" />
  676. <col class="field-body" />
  677. <tbody valign="top">
  678. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The ‘shape’ information that is created on the plot.</td>
  679. </tr>
  680. </tbody>
  681. </table>
  682. </dd></dl>
  683. <dl class="method">
  684. <dt id="CBD.realtime.plotting.ScatterPlot.update">
  685. <code class="descname">update</code><span class="sig-paren">(</span><em>element</em>, <em>*data</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#ScatterPlot.update"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.ScatterPlot.update" title="Permalink to this definition">¶</a></dt>
  686. <dd><p>Called when the figure is updated in the manager.</p>
  687. <table class="docutils field-list" frame="void" rules="none">
  688. <col class="field-name" />
  689. <col class="field-body" />
  690. <tbody valign="top">
  691. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
  692. <li><strong>element</strong> – The shape that was returned from the <a class="reference internal" href="#CBD.realtime.plotting.PlotKind.create" title="CBD.realtime.plotting.PlotKind.create"><code class="xref py py-func docutils literal notranslate"><span class="pre">PlotKind.create()</span></code></a>
  693. method.</li>
  694. <li><strong>*data</strong> – The data with which to update the plot.</li>
  695. </ul>
  696. </td>
  697. </tr>
  698. </tbody>
  699. </table>
  700. </dd></dl>
  701. </dd></dl>
  702. <dl class="class">
  703. <dt id="CBD.realtime.plotting.PlotManager">
  704. <em class="property">class </em><code class="descclassname">CBD.realtime.plotting.</code><code class="descname">PlotManager</code><span class="sig-paren">(</span><em>backend=1</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#PlotManager"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.PlotManager" title="Permalink to this definition">¶</a></dt>
  705. <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
  706. <p>Manages multiple <a class="reference internal" href="#CBD.realtime.plotting.PlotHandler" title="CBD.realtime.plotting.PlotHandler"><code class="xref py py-class docutils literal notranslate"><span class="pre">PlotHandler</span></code></a> instances.
  707. Use this class as a centralized unit to manage one or more plots in the system.</p>
  708. <table class="docutils field-list" frame="void" rules="none">
  709. <col class="field-name" />
  710. <col class="field-body" />
  711. <tbody valign="top">
  712. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>backend</strong> (<a class="reference internal" href="#CBD.realtime.plotting.Backend" title="CBD.realtime.plotting.Backend"><em>Backend</em></a>) – The backend to use.</td>
  713. </tr>
  714. <tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">AssertionError</span></code> – if the backend cannot be located.</td>
  715. </tr>
  716. </tbody>
  717. </table>
  718. <div class="admonition seealso">
  719. <p class="first admonition-title">See also</p>
  720. <ul class="last simple">
  721. <li><a class="reference internal" href="#CBD.realtime.plotting.Backend" title="CBD.realtime.plotting.Backend"><code class="xref py py-class docutils literal notranslate"><span class="pre">Backend</span></code></a></li>
  722. <li><a class="reference internal" href="#CBD.realtime.plotting.PlotHandler" title="CBD.realtime.plotting.PlotHandler"><code class="xref py py-class docutils literal notranslate"><span class="pre">PlotHandler</span></code></a></li>
  723. </ul>
  724. </div>
  725. <dl class="method">
  726. <dt id="CBD.realtime.plotting.PlotManager.is_opened">
  727. <code class="descname">is_opened</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#PlotManager.is_opened"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.PlotManager.is_opened" title="Permalink to this definition">¶</a></dt>
  728. <dd><p>Checks if there is at least a single plot left open.</p>
  729. </dd></dl>
  730. <dl class="method">
  731. <dt id="CBD.realtime.plotting.PlotManager.all_opened">
  732. <code class="descname">all_opened</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#PlotManager.all_opened"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.PlotManager.all_opened" title="Permalink to this definition">¶</a></dt>
  733. <dd><p>Checks if all plots are still open.</p>
  734. </dd></dl>
  735. <dl class="method">
  736. <dt id="CBD.realtime.plotting.PlotManager.register">
  737. <code class="descname">register</code><span class="sig-paren">(</span><em>name</em>, <em>object</em>, <em>figure</em>, <em>kind</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#PlotManager.register"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.PlotManager.register" title="Permalink to this definition">¶</a></dt>
  738. <dd><p>Register a single <a class="reference internal" href="#CBD.realtime.plotting.PlotHandler" title="CBD.realtime.plotting.PlotHandler"><code class="xref py py-class docutils literal notranslate"><span class="pre">PlotHandler</span></code></a> to plot information.</p>
  739. <table class="docutils field-list" frame="void" rules="none">
  740. <col class="field-name" />
  741. <col class="field-body" />
  742. <tbody valign="top">
  743. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
  744. <li><strong>name</strong> (<em>str</em>) – The name for this handler. Will be used to optionally
  745. access it afterwards.</li>
  746. <li><strong>object</strong> (<em>Any</em>) – The object from which data needs to be polled. By default,
  747. the <code class="code docutils literal notranslate"><span class="pre">data_xy</span></code> attribute will be used on the object,
  748. which should result in a 2xN array in the form of
  749. <code class="code docutils literal notranslate"><span class="pre">([x1,</span> <span class="pre">x2,</span> <span class="pre">x3...],</span> <span class="pre">[y1,</span> <span class="pre">y2,</span> <span class="pre">y3...])</span></code>.</li>
  750. <li><strong>figure</strong> – The figure object required for plotting. This has been made
  751. externally to allow for full manipulation of the plotting
  752. framework itself.</li>
  753. <li><strong>kind</strong> (<a class="reference internal" href="#CBD.realtime.plotting.PlotKind" title="CBD.realtime.plotting.PlotKind"><em>PlotKind</em></a>) – What needs to be plotted. See <a class="reference internal" href="#CBD.realtime.plotting.PlotKind" title="CBD.realtime.plotting.PlotKind"><code class="xref py py-class docutils literal notranslate"><span class="pre">PlotKind</span></code></a> for more
  754. info.</li>
  755. <li><strong>**kwargs</strong> – Additional arguments to pass to the <a class="reference internal" href="#CBD.realtime.plotting.PlotHandler" title="CBD.realtime.plotting.PlotHandler"><code class="xref py py-class docutils literal notranslate"><span class="pre">PlotHandler</span></code></a>
  756. constructor.</li>
  757. </ul>
  758. </td>
  759. </tr>
  760. </tbody>
  761. </table>
  762. <div class="admonition seealso">
  763. <p class="first admonition-title">See also</p>
  764. <p class="last"><a class="reference internal" href="#CBD.realtime.plotting.PlotHandler" title="CBD.realtime.plotting.PlotHandler"><code class="xref py py-class docutils literal notranslate"><span class="pre">PlotHandler</span></code></a></p>
  765. </div>
  766. </dd></dl>
  767. <dl class="method">
  768. <dt id="CBD.realtime.plotting.PlotManager.unregister">
  769. <code class="descname">unregister</code><span class="sig-paren">(</span><em>name</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#PlotManager.unregister"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.PlotManager.unregister" title="Permalink to this definition">¶</a></dt>
  770. <dd><p>Removes a single <a class="reference internal" href="#CBD.realtime.plotting.PlotHandler" title="CBD.realtime.plotting.PlotHandler"><code class="xref py py-class docutils literal notranslate"><span class="pre">PlotHandler</span></code></a> from the manager.</p>
  771. <table class="docutils field-list" frame="void" rules="none">
  772. <col class="field-name" />
  773. <col class="field-body" />
  774. <tbody valign="top">
  775. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>name</strong> (<em>str</em>) – The identifying name for the handler.</td>
  776. </tr>
  777. </tbody>
  778. </table>
  779. </dd></dl>
  780. <dl class="method">
  781. <dt id="CBD.realtime.plotting.PlotManager.get">
  782. <code class="descname">get</code><span class="sig-paren">(</span><em>name</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#PlotManager.get"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.PlotManager.get" title="Permalink to this definition">¶</a></dt>
  783. <dd><p>Obtains a single <a class="reference internal" href="#CBD.realtime.plotting.PlotHandler" title="CBD.realtime.plotting.PlotHandler"><code class="xref py py-class docutils literal notranslate"><span class="pre">PlotHandler</span></code></a>, given its name.</p>
  784. <table class="docutils field-list" frame="void" rules="none">
  785. <col class="field-name" />
  786. <col class="field-body" />
  787. <tbody valign="top">
  788. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>name</strong> (<em>str</em>) – The identifying name for the handler to obtain.</td>
  789. </tr>
  790. </tbody>
  791. </table>
  792. </dd></dl>
  793. <dl class="method">
  794. <dt id="CBD.realtime.plotting.PlotManager.connect">
  795. <code class="descname">connect</code><span class="sig-paren">(</span><em>handler_name</em>, <em>event_name</em>, <em>function</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#PlotManager.connect"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.PlotManager.connect" title="Permalink to this definition">¶</a></dt>
  796. <dd><p>Connect an event to a specific handler.</p>
  797. <table class="docutils field-list" frame="void" rules="none">
  798. <col class="field-name" />
  799. <col class="field-body" />
  800. <tbody valign="top">
  801. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
  802. <li><strong>handler_name</strong> (<em>str</em>) – The identifying name for the handler.</li>
  803. <li><strong>event_name</strong> (<em>str</em>) – The name for the event.</li>
  804. <li><strong>function</strong> – A function to execute whenever the event is raised.</li>
  805. </ul>
  806. </td>
  807. </tr>
  808. </tbody>
  809. </table>
  810. <div class="admonition seealso">
  811. <p class="first admonition-title">See also</p>
  812. <ul class="last simple">
  813. <li><a class="reference internal" href="#CBD.realtime.plotting.PlotHandler.connect" title="CBD.realtime.plotting.PlotHandler.connect"><code class="xref py py-func docutils literal notranslate"><span class="pre">PlotHandler.connect()</span></code></a></li>
  814. <li><a class="reference internal" href="#CBD.realtime.plotting.PlotHandler.signal" title="CBD.realtime.plotting.PlotHandler.signal"><code class="xref py py-func docutils literal notranslate"><span class="pre">PlotHandler.signal()</span></code></a></li>
  815. </ul>
  816. </div>
  817. </dd></dl>
  818. </dd></dl>
  819. <dl class="function">
  820. <dt id="CBD.realtime.plotting.mpl">
  821. <code class="descclassname">CBD.realtime.plotting.</code><code class="descname">mpl</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#mpl"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.mpl" title="Permalink to this definition">¶</a></dt>
  822. <dd><p>Example usage for a matplotlib backend.</p>
  823. </dd></dl>
  824. <dl class="function">
  825. <dt id="CBD.realtime.plotting.bkh">
  826. <code class="descclassname">CBD.realtime.plotting.</code><code class="descname">bkh</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/CBD/realtime/plotting.html#bkh"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#CBD.realtime.plotting.bkh" title="Permalink to this definition">¶</a></dt>
  827. <dd><p>Example usage for a bokeh backend.</p>
  828. </dd></dl>
  829. </div>
  830. </article>
  831. </div>
  832. <footer>
  833. <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
  834. <a href="CBD.realtime.threadingBackend.html" class="btn btn-neutral float-right" title="CBD.realtime.threadingBackend module" accesskey="n" rel="next">Next <img src="_static/images/chevron-right-orange.svg" class="next-page"></a>
  835. <a href="CBD.realtime.accurate_time.html" class="btn btn-neutral" title="CBD.realtime.accurate_time module" accesskey="p" rel="prev"><img src="_static/images/chevron-right-orange.svg" class="previous-page"> Previous</a>
  836. </div>
  837. <hr>
  838. <div role="contentinfo">
  839. <p>
  840. &copy; Copyright 2020, Randy Paredis.
  841. </p>
  842. </div>
  843. <div>
  844. Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
  845. </div>
  846. </footer>
  847. </div>
  848. </div>
  849. <div class="catalyst-content-right" id="catalyst-content-right">
  850. <div class="catalyst-right-menu" id="catalyst-right-menu">
  851. <div class="catalyst-side-scroll" id="catalyst-side-scroll-right">
  852. <ul>
  853. <li><a class="reference internal" href="#">CBD.realtime.plotting module</a></li>
  854. </ul>
  855. </div>
  856. </div>
  857. </div>
  858. </section>
  859. </div>
  860. <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
  861. <script type="text/javascript" src="_static/jquery.js"></script>
  862. <script type="text/javascript" src="_static/underscore.js"></script>
  863. <script type="text/javascript" src="_static/doctools.js"></script>
  864. <script type="text/javascript" src="_static/language_data.js"></script>
  865. <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-AMS-MML_HTMLorMML"></script>
  866. <script type="text/javascript" src="_static/js/vendor/popper.min.js"></script>
  867. <script type="text/javascript" src="_static/js/vendor/bootstrap.min.js"></script>
  868. <script type="text/javascript" src="_static/js/theme.js"></script>
  869. <script type="text/javascript">
  870. jQuery(function () {
  871. SphinxRtdTheme.Navigation.enable(true);
  872. });
  873. </script>
  874. <!-- Begin Footer -->
  875. <footer class="site-footer" id="site-footer">
  876. <div class="container footer-container">
  877. <div class="footer-logo-wrapper">
  878. <a href="https://catalyst-team.com/" class="footer-logo"></a>
  879. </div>
  880. <div class="footer-links-wrapper">
  881. <div class="footer-links-col">
  882. <ul>
  883. <li class="list-title"><a href="https://github.com/catalyst-team">Ecosystem</a></li>
  884. <li><a class="nav-dropdown-item" href="https://alchemy.host">Alchemy</a></li>
  885. <li><a class="nav-dropdown-item" href="https://github.com/catalyst-team/catalyst">Catalyst</a></li>
  886. <li><a class="nav-dropdown-item" href="https://github.com/catalyst-team/reaction">Reaction</a></li>
  887. </ul>
  888. </div>
  889. <div class="footer-links-col">
  890. <ul>
  891. <li class="list-title"><a href="https://github.com/catalyst-team">Projects</a></li>
  892. <li><a class="nav-dropdown-item" href="https://github.com/catalyst-team/codestyle">Codestyle</a></li>
  893. <li><a class="nav-dropdown-item" href="https://github.com/catalyst-team/neuro">Catalyst.Neuro</a></li>
  894. <li><a class="nav-dropdown-item" href="https://github.com/catalyst-team/classification">Classification</a></li>
  895. <li><a class="nav-dropdown-item" href="https://github.com/catalyst-team/detection">Detection</a></li>
  896. <li><a class="nav-dropdown-item" href="https://github.com/catalyst-team/segmentation">Segmentation</a></li>
  897. <li><a class="nav-dropdown-item" href="https://github.com/catalyst-team/gan">Catalyst.GAN</a></li>
  898. </ul>
  899. </div>
  900. <div class="footer-links-col">
  901. <ul>
  902. <li class="list-title"><a href="https://catalyst-team.com/">Support</a></li>
  903. <li><a href="https://github.com/catalyst-team/catalyst/issues" target="_blank">Github Issues</a></li>
  904. <li><a href="https://github.com/catalyst-team/catalyst/blob/master/CONTRIBUTING.md" target="_blank">Contributing</a></li>
  905. <li><a href="https://www.patreon.com/catalyst_team" target="_blank">Patreon</a></li>
  906. </ul>
  907. </div>
  908. <div class="footer-links-col follow-us-col">
  909. <div class="footer-social-icons">
  910. <a href="https://t.me/catalyst_team" target="_blank" class="telegram"></a>
  911. <a href="https://twitter.com/catalyst_core" target="_blank" class="twitter"></a>
  912. <a href="https://join.slack.com/t/catalyst-team-core/shared_invite/zt-d9miirnn-z86oKDzFMKlMG4fgFdZafw" target="_blank" class="ods"></a>
  913. </div>
  914. </div>
  915. </div>
  916. </div>
  917. </footer>
  918. <!-- End Footer -->
  919. <!-- Begin Mobile Menu -->
  920. <div class="mobile-main-menu">
  921. <div class="container-fluid">
  922. <div class="container">
  923. <div class="mobile-main-menu-header-container">
  924. <a class="header-logo" href="https://catalyst-team.com/" aria-label="Catalyst"></a>
  925. <a class="main-menu-close-button" href="#" data-behavior="close-mobile-menu"></a>
  926. </div>
  927. </div>
  928. </div>
  929. <div class="mobile-main-menu-links-container">
  930. <div class="main-menu">
  931. <ul>
  932. <li>
  933. <a href="">Get Started</a>
  934. </li>
  935. <li>
  936. <a href="https://github.com/catalyst-team/catalyst">Github</a>
  937. </li>
  938. </ul>
  939. </div>
  940. </div>
  941. </div>
  942. <!-- End Mobile Menu -->
  943. <script type="text/javascript" src="_static/js/vendor/anchor.min.js"></script>
  944. <script type="text/javascript">
  945. $(document).ready(function() {
  946. mobileMenu.bind();
  947. mobileTOC.bind();
  948. catalystAnchors.bind();
  949. sideMenus.bind();
  950. scrollToAnchor.bind();
  951. highlightNavigation.bind();
  952. mainMenuDropdown.bind();
  953. // Add class to links that have code blocks, since we cannot create links in code blocks
  954. $("article.catalyst-article a span.pre").each(function(e) {
  955. $(this).closest("a").addClass("has-code");
  956. });
  957. })
  958. </script>
  959. </body>
  960. </html>