{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "We introduce interacts to give the user control over plots." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 1. Making Plot with a Parameter" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Code adapted from Sage for Undergraduates by Gregory Bard,\n", "pages 285 in Figure 1." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Consider the tangent line to $y = f(x)$ at the point $x_0$. We can make the plot where $x_0$ is a parameter." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "x |--> x^3 - x" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f(x) = x^3 - x\n", "f" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "x |--> 3*x^2 - 1" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df(x) = diff(f(x), x)\n", "df" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "def tangent_at_point(x0):\n", " \"\"\"\n", " Shows the tangent line at the point x0,\n", " using f and its derivative as global variables.\n", " \"\"\"\n", " y0 = f(x0)\n", " slope = df(x0)\n", " # y - y0 = slope*(x - x0) implies\n", " # y = slope*x - slope*x0 + y0\n", " b = y0 - slope*x0\n", " P1 = plot(f, -2, 2, color='blue', ymin=-6, ymax=6, gridlines='minor')\n", " P2 = plot(slope*x + b, -2, 2, color='tan', ymin=-6, ymax=6)\n", " P3 = point((x0, y0), color='red', size=50)\n", " P = P1+P2+P3\n", " P.show(figsize=3)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "Graphics object consisting of 3 graphics primitives" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "tangent_at_point(0.5)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "Graphics object consisting of 3 graphics primitives" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "tangent_at_point(1.5)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "Graphics object consisting of 3 graphics primitives" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "tangent_at_point(-1.75)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 2. Adding a Slider" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Code adapted from Sage for Undergraduates by Gregory Bard,\n", "pages 285 in Figure 1." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Widget Javascript not detected. It may not be installed or enabled properly. Reconnecting the current kernel may help.\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "febf189475744ea788feec945f94d039" } }, "metadata": {}, "output_type": "display_data" } ], "source": [ "@interact\n", "def tangent_at_point(x0 = slider(-2, 2, 0.1, -1.5, label='x-coordinate')):\n", " \"\"\"\n", " Shows the tangent line at the point x0,\n", " using f and its derivative as global variables.\n", " \"\"\"\n", " y0 = f(x0)\n", " slope = df(x0)\n", " # y - y0 = slope*(x - x0) implies\n", " # y = slope*x - slope*x0 + y0\n", " b = y0 - slope*x0\n", " P1 = plot(f, -2, 2, color='blue', ymin=-6, ymax=6, gridlines='minor')\n", " P2 = plot(slope*x + b, -2, 2, color='tan', ymin=-6, ymax=6)\n", " P3 = point((x0, y0), color='red', size=50)\n", " P = P1+P2+P3\n", " P.show(figsize=4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 3. Adding a Selector" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can add a selector, for example in a color plot." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Widget Javascript not detected. It may not be installed or enabled properly. Reconnecting the current kernel may help.\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "f645ae53c4954fc8992684c125c1d756" } }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# reset()\n", "fun = x^3 - x\n", "rng = (x, -2, 2)\n", "@interact\n", "def colorplot(colrgb=selector(['red', 'green', 'blue'], label='color: ')):\n", " \"\"\"\n", " Plots the expression defined by fun over the range in rng.\n", " The parameters fun and rng must be defined before calling colorplot.\n", " The user can select the color.\n", " \"\"\"\n", " P = plot(fun, rng, color=colrgb)\n", " P.show(figsize=4)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "SageMath 10.3", "language": "sage", "name": "sagemath" }, "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.10.6" } }, "nbformat": 4, "nbformat_minor": 2 }