From 551594ce63aac6c41ecf8062997f888826c4ae11 Mon Sep 17 00:00:00 2001 From: didier amyot Date: Thu, 7 Dec 2017 07:37:28 -0500 Subject: [PATCH] added experiments with geom --- geom.ipynb | 142 ++++++++++++++++++++++++++++++++++++++++++++++++ highchart.ipynb | 16 +++--- plotly.ipynb | 18 ++++-- project.clj | 1 + 4 files changed, 163 insertions(+), 14 deletions(-) create mode 100644 geom.ipynb diff --git a/geom.ipynb b/geom.ipynb new file mode 100644 index 0000000..67cfebd --- /dev/null +++ b/geom.ipynb @@ -0,0 +1,142 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "(require '[thi.ng.geom.viz.core :as viz]\n", + " '[thi.ng.geom.svg.core :as svg]\n", + " '[thi.ng.geom.core.vector :as v]\n", + " '[thi.ng.color.core :as col]\n", + " '[thi.ng.math.core :as m :refer [PI TWO_PI]]\n", + " '[clojupyter.misc.display :as display])" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "#'user/spec" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\n", + "(defn export-viz\n", + " [spec]\n", + " (->> spec\n", + " (viz/svg-plot2d-cartesian)\n", + " (svg/svg {:width 985 :height 600})\n", + " (svg/serialize)))\n", + "\n", + "(def spec\n", + " {:x-axis (viz/log-axis\n", + " {:domain [1 201]\n", + " :range [50 (- 985 10)]\n", + " :pos 550})\n", + " :y-axis (viz/linear-axis\n", + " {:domain [0.1 100]\n", + " :range [550 20]\n", + " :major 10\n", + " :minor 5\n", + " :pos 50\n", + " :label-dist 15\n", + " :label-style {:text-anchor \"end\"}})\n", + " :grid {:attribs {:stroke \"#caa\"}\n", + " :minor-x true\n", + " :minor-y true}\n", + " :data [{:values (map (juxt identity #(Math/sqrt %)) (range 0 200 2))\n", + " :attribs {:fill \"#0af\" :stroke \"none\"}\n", + " :layout viz/svg-scatter-plot}\n", + " {:values (map (juxt identity #(m/random %)) (range 0 200 2))\n", + " :attribs {:fill \"none\" :stroke \"#f60\"}\n", + " :shape (viz/svg-triangle-down 6)\n", + " :layout viz/svg-scatter-plot}]})" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "1.0010.00100.0010.0020.0030.0040.0050.0060.0070.0080.0090.00100.00" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "(-> spec\n", + " (export-viz)\n", + " (display/make-html))" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "1.0010.00100.000.101.0010.00100.00" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "(-> spec\n", + " (assoc :y-axis (viz/log-axis\n", + " {:domain [0.1 101]\n", + " :range [550 20]\n", + " :pos 50\n", + " :label-dist 15\n", + " :label-style {:text-anchor \"end\"}}))\n", + " (export-viz)\n", + " (display/make-html))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Lein-Clojure", + "language": "clojure", + "name": "lein-clojure" + }, + "language_info": { + "file_extension": ".clj", + "mimetype": "text/x-clojure", + "name": "clojure", + "version": "1.9.0-RC1" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/highchart.ipynb b/highchart.ipynb index a7c8aaf..1052d3c 100644 --- a/highchart.ipynb +++ b/highchart.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -14,7 +14,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -23,7 +23,7 @@ "" ] }, - "execution_count": 2, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -34,7 +34,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -43,7 +43,7 @@ "#'user/plot-highchart" ] }, - "execution_count": 5, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -59,16 +59,16 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ - "
" + "
" ] }, - "execution_count": 6, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } diff --git a/plotly.ipynb b/plotly.ipynb index b6b3519..c6ea8c1 100644 --- a/plotly.ipynb +++ b/plotly.ipynb @@ -32,7 +32,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 2, "metadata": {}, "outputs": [ { @@ -41,7 +41,7 @@ "#'user/plotly-cred" ] }, - "execution_count": 6, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } @@ -111,8 +111,7 @@ " (:embed_url)\n", " to-iframe \n", " (hiccup/html)\n", - " (display/make-html))))\n", - " " + " (display/make-html))))" ] }, { @@ -125,7 +124,7 @@ { "data": { "text/html": [ - "" + "" ] }, "execution_count": 4, @@ -159,7 +158,7 @@ { "data": { "text/html": [ - "" + "" ] }, "execution_count": 5, @@ -187,6 +186,13 @@ " (plot-response)))\n", "plot-data" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/project.clj b/project.clj index 1c617bc..43983b4 100644 --- a/project.clj +++ b/project.clj @@ -5,6 +5,7 @@ :url "http://www.eclipse.org/legal/epl-v10.html"} :dependencies [[org.clojure/clojure "1.9.0-RC1"] [clj-http "3.7.0"] + [thi.ng/geom "0.0.908"] [hiccup "1.0.5"]] :main ^:skip-aot graphly.core :plugins [[lein-jupyter "0.1.10"]]