{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from bqplot import pyplot as plt\n", "import ipywidgets as widgets\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# generate some fake\n", "n = 2000\n", "x = np.linspace(0.0, 10.0, n)\n", "np.random.seed(0)\n", "y = np.cumsum(np.random.randn(n) * 10).astype(int)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "fig_hist = plt.figure(title='Histogram')\n", "hist = plt.hist(y, bins=25)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "hist.bins = 10;" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "slider = widgets.IntSlider(description='Bins number', min=1, max=100, v_model=30)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "scrolled": false }, "outputs": [], "source": [ "widgets.link((hist, 'bins'), (slider, 'value'))\n", "\n", "fig_lines = plt.figure(title='Line Chart')\n", "lines = plt.plot(x, y)\n", "\n", "fig_lines.layout.width = 'auto'\n", "fig_lines.layout.height = 'auto'\n", "fig_hist.layout.width = 'auto'\n", "fig_hist.layout.height = 'auto'\n", "\n", "grid_layout = widgets.GridspecLayout(5, 3)\n", "\n", "grid_layout[:2, :] = fig_lines\n", "grid_layout[2:4, :] = fig_hist\n", "grid_layout[4, 1] = slider\n", "\n", "grid_layout.layout.height = '1000px'\n", "\n", "grid_layout" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "selector = plt.brush_int_selector()\n", "\n", "\n", "def update_range(*ignore):\n", " if selector.selected is not None and len(selector.selected) == 2:\n", " xmin, xmax = selector.selected\n", " mask = (x > xmin) & (x < xmax)\n", " hist.sample = y[mask]\n", "\n", "\n", "selector.observe(update_range, 'selected')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.3" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": {}, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 4 }