{ "cells": [ { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "my $version = \"0.12.9\";\n", "my @css = grep { length } split /\\s+/, qq(\n", " http://cdn.pydata.org/bokeh/release/bokeh-$version.min.css\n", " http://cdn.pydata.org/bokeh/release/bokeh-widgets-$version.min.css\n", " http://cdn.pydata.org/bokeh/release/bokeh-tables-$version.min.css\n", ");\n", "my @js = grep { length } split /\\s+/, qq(\n", " http://cdn.pydata.org/bokeh/release/bokeh-$version.min.js\n", " http://cdn.pydata.org/bokeh/release/bokeh-widgets-$version.min.js\n", " http://cdn.pydata.org/bokeh/release/bokeh-tables-$version.min.js\n", " http://cdn.pydata.org/bokeh/release/bokeh-api-$version.min.js\n", ");\n", "\n", "\n", "IPerl->display( IPerl->js(<<\"JS\" )) for @css;\n", " \\$(\"head\").append(\\$(\"\").attr({\n", " rel: \"stylesheet\",\n", " type: \"text/css\",\n", " href: \"$_\"\n", " }));\n", "JS\n", "\n", "\n", "IPerl->display( IPerl->js( <<\"JS\" ) ) for @js;\n", " \\$(\"head\").append(\\$(\"\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "use JSON::MaybeXS;\n", "use MIME::Base64;\n", "my $json = JSON::MaybeXS->new( allow_nonref => 1 );\n", "my $bkplot_id = \"bkplot_001\";\n", "\n", "my $bokeh_spec = qq|\n", "\n", "var source = new Bokeh.ColumnDataSource({\n", " data: {\n", " image: {\n", " shape: [ $N, $N ],\n", " dtype: \"$dtype\",\n", " \"__ndarray__\": @{[ $json->encode( encode_base64( ${ $d->get_dataref } ) ) ]}\n", " }\n", " }\n", "});\n", "\n", "var xdr = new Bokeh.Range1d({ start: 0, end: 10 });\n", "var ydr = new Bokeh.Range1d({ start: 0, end: 10 });\n", "\n", "var plot = new Bokeh.Plot({\n", " title: \"Bokeh\",\n", " x_range: xdr,\n", " y_range: ydr\n", "});\n", "\n", "var image = new Bokeh.Image({\n", " image: { field: \"image\" },\n", " x: 0,\n", " y: 0,\n", " dw: 10,\n", " dh: 10\n", " /*,\n", " color_mapper: \"Spectral11\"*/\n", "});\n", "\n", "//plot.add_glyph(image, source);\n", "\n", "// add the plot to a document and display it\n", "var doc = new Bokeh.Document();\n", "doc.add_root(plot);\n", "var div = document.getElementById(\"$bkplot_id\");\n", "Bokeh.embed.add_document_standalone(doc, div);\n", "\n", "|;\n", "\n", "IPerl->display( IPerl->html( qq|
| ) );\n", "IPerl->display( IPerl->js( $bokeh_spec ) );" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "IPerl 0.009", "language": "perl", "name": "iperl" }, "language": "Perl", "language_info": { "file_extension": ".pl", "mimetype": "text/x-perl", "name": "perl", "version": "5.26.1" } }, "nbformat": 4, "nbformat_minor": 1 }