{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Overview\n", "This notebook demonstrates how to use DataShader to display large datasets inside a plotly `FigureWidget`. Change callbacks are used to recompute the datashader image whenever the axis range or figure size changes" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Imports" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# core\n", "import io\n", "import base64 \n", "import time\n", "\n", "# pandas\n", "import pandas as pd\n", "\n", "# numpy\n", "import numpy as np\n", "\n", "# scikit learn\n", "from sklearn import datasets\n", "\n", "# datashader\n", "import datashader as ds\n", "import datashader.transfer_functions as tf\n", "from datashader.colors import inferno" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Generate dataset\n", "We will create a large dataset by duplicating the Iris dataset many times with random noise" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | sepal_length | \n", "sepal_width | \n", "petal_length | \n", "petal_width | \n", "
---|---|---|---|---|
count | \n", "1.050000e+06 | \n", "1.050000e+06 | \n", "1.050000e+06 | \n", "1.050000e+06 | \n", "
mean | \n", "5.843271e+00 | \n", "3.053854e+00 | \n", "3.758803e+00 | \n", "1.198912e+00 | \n", "
std | \n", "8.493378e-01 | \n", "4.763162e-01 | \n", "1.769648e+00 | \n", "7.867648e-01 | \n", "
min | \n", "3.559033e+00 | \n", "1.114488e+00 | \n", "2.296150e-01 | \n", "-8.285020e-01 | \n", "
25% | \n", "5.155895e+00 | \n", "2.740263e+00 | \n", "1.638386e+00 | \n", "3.924995e-01 | \n", "
50% | \n", "5.802342e+00 | \n", "3.033030e+00 | \n", "4.306771e+00 | \n", "1.316363e+00 | \n", "
75% | \n", "6.444157e+00 | \n", "3.345420e+00 | \n", "5.142291e+00 | \n", "1.829025e+00 | \n", "
max | \n", "8.717877e+00 | \n", "5.090993e+00 | \n", "7.581433e+00 | \n", "3.250024e+00 | \n", "