{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "
\n", "
Title
Spread Element
\n", "
Dependencies
Plotly
\n", "
Backends
Bokeh
Matplotlib
Plotly
\n", "
\n", "
" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import holoviews as hv\n", "hv.extension('plotly')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "``Spread`` elements have the same data format as the [``ErrorBars``](ErrorBars.ipynb) element, namely x- and y-values with associated symmetric or asymmetric errors, but are interpreted as samples from a continuous distribution (just as ``Curve`` is the continuous version of ``Scatter``). These are often paired with an overlaid ``Curve`` to show an average trend along with a corresponding spread of values; see the [Tabular Datasets](../../../user_guide/08-Tabular_Datasets.ipynb) user guide for examples. \n", "\n", "Note that as the ``Spread`` element is used to add information to a plot (typically a ``Curve``) the default alpha value is less than one, making it partially transparent. \n", "\n", "\n", "##### Symmetric" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Given two value dimensions corresponding to the position on the y-axis and the error, ``Spread`` will visualize itself assuming symmetric errors:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "np.random.seed(42)\n", "xs = np.linspace(0, np.pi*2, 20)\n", "err = 0.2+np.random.rand(len(xs))\n", "hv.Spread((xs, np.sin(xs), err))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Asymmetric" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Given three value dimensions corresponding to the position on the y-axis, the negative error and the positive error, ``Spread`` can be used to visualize asymmetric errors:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "xs = np.linspace(0, np.pi*2, 20)\n", "spread = hv.Spread((xs, np.sin(xs), 0.1+np.random.rand(len(xs)), 0.1+np.random.rand(len(xs))),\n", " vdims=['y', 'yerrneg', 'yerrpos'])\n", "\n", "spread.opts(color='indianred')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For full documentation and the available style and plot options, use ``hv.help(hv.Spread).``" ] } ], "metadata": { "language_info": { "name": "python", "pygments_lexer": "ipython3" } }, "nbformat": 4, "nbformat_minor": 2 }