{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from beakerx import *\n", "class ToolTipBuilder:\n", " def getToolTip(self,node):\n", " tooltip = \"\"\n", " if node.isLeaf():\n", " tooltip+=\"Label: \"+ (node.label)\n", "\n", " tooltip+=\"
\"\n", " tooltip+=\"Weight: \"+ str(node.weight)\n", " tooltip+=\"
\"\n", " tooltip+=\"Value: \"+ node.labelValue\n", "\n", " return tooltip\n", " \n", "toolTipBuilder = ToolTipBuilder()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from beakerx import *\n", "node = TreeMapNode(\"0\")\n", "node00 = TreeMapNode(\"00\", 2, DefaultValue(2))\n", "\n", "node01 = TreeMapNode(\"01\")\n", "node01.add(TreeMapNode(\"011\", 1, DefaultValue(1)))\n", "node01.add(TreeMapNode(\"012\", 2, DefaultValue(1)))\n", "node01.add(TreeMapNode(\"013\", 3, DefaultValue(1)))\n", "\n", "node02 = TreeMapNode(\"02\")\n", "node02.add(TreeMapNode(\"020\", 2, DefaultValue(2)))\n", "node02.add(TreeMapNode(\"021\", 1, DefaultValue(1)))\n", "node02.add(TreeMapNode(\"022\", 1, DefaultValue(1)))\n", "node02.add(TreeMapNode(\"023\", 1, DefaultValue(1)))\n", "node02.add(TreeMapNode(\"024\", 2, DefaultValue(2)))\n", "\n", "node03 = TreeMapNode(\"03\")\n", "node03.add(TreeMapNode(\"030\", 1, DefaultValue(2)))\n", "node03.add(TreeMapNode(\"031\", 2, DefaultValue(2)))\n", "node03.add(TreeMapNode(\"032\", 3, DefaultValue(2)))\n", "node03.add(TreeMapNode(\"033\", 4, DefaultValue(2)))\n", "\n", "node04 = TreeMapNode(\"04\", 6, DefaultValue(5))\n", "\n", "node.add(node01)\n", "node.add(node02)\n", "node.add(node03)\n", "node.add(node04)\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "big_node = TreeMapNode(\"root\")\n", "nodeX = TreeMapNode(\"branch1\")\n", "nodeY = TreeMapNode(\"branch2\")\n", "\n", "for x in range(1, 501):\n", " nodeX.add(TreeMapNode(str(x), x * 2, DefaultValue(x)))\n", " \n", "nodeX1 = TreeMapNode(\"branch11\")\n", "\n", "for x in range(1, 251):\n", " nodeX1.add(TreeMapNode(str(x), x * 2, DefaultValue(x)))\n", "\n", "nodeX.add(nodeX1)\n", "\n", "for x in range(1, 501):\n", " nodeY.add(TreeMapNode(str(x), x * 2, DefaultValue(x)))\n", "\n", "nodeY1 = TreeMapNode(\"branch21\")\n", "\n", "for x in range(1, 251):\n", " nodeY1.add(TreeMapNode(str(x), x * 2, DefaultValue(x)))\n", "nodeY.add(nodeY1)\n", "\n", "\n", "big_node.add(nodeY)\n", "big_node.add(nodeX)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import json\n", "spjson = '{\"name\":\"flare\",\"children\":[{\"name\":\"analytics\",\"children\":[{\"name\":\"cluster\",\"children\":[{\"name\":\"AgglomerativeCluster\",\"size\":3938},{\"name\":\"CommunityStructure\",\"size\":3812},{\"name\":\"HierarchicalCluster\",\"size\":6714},{\"name\":\"MergeEdge\",\"size\":743}]},{\"name\":\"graph\",\"children\":[{\"name\":\"BetweennessCentrality\",\"size\":3534},{\"name\":\"LinkDistance\",\"size\":5731},{\"name\":\"MaxFlowMinCut\",\"size\":7840},{\"name\":\"ShortestPaths\",\"size\":5914},{\"name\":\"SpanningTree\",\"size\":3416}]},{\"name\":\"optimization\",\"children\":[{\"name\":\"AspectRatioBanker\",\"size\":7074}]}]},{\"name\":\"animate\",\"children\":[{\"name\":\"Easing\",\"size\":17010},{\"name\":\"FunctionSequence\",\"size\":5842},{\"name\":\"interpolate\",\"children\":[{\"name\":\"ArrayInterpolator\",\"size\":1983},{\"name\":\"ColorInterpolator\",\"size\":2047},{\"name\":\"DateInterpolator\",\"size\":1375},{\"name\":\"Interpolator\",\"size\":8746},{\"name\":\"MatrixInterpolator\",\"size\":2202},{\"name\":\"NumberInterpolator\",\"size\":1382},{\"name\":\"ObjectInterpolator\",\"size\":1629},{\"name\":\"PointInterpolator\",\"size\":1675},{\"name\":\"RectangleInterpolator\",\"size\":2042}]},{\"name\":\"ISchedulable\",\"size\":1041},{\"name\":\"Parallel\",\"size\":5176},{\"name\":\"Pause\",\"size\":449},{\"name\":\"Scheduler\",\"size\":5593},{\"name\":\"Sequence\",\"size\":5534},{\"name\":\"Transition\",\"size\":9201},{\"name\":\"Transitioner\",\"size\":19975},{\"name\":\"TransitionEvent\",\"size\":1116},{\"name\":\"Tween\",\"size\":6006}]},{\"name\":\"data\",\"children\":[{\"name\":\"converters\",\"children\":[{\"name\":\"Converters\",\"size\":721},{\"name\":\"DelimitedTextConverter\",\"size\":4294},{\"name\":\"GraphMLConverter\",\"size\":9800},{\"name\":\"IDataConverter\",\"size\":1314},{\"name\":\"JSONConverter\",\"size\":2220}]},{\"name\":\"DataField\",\"size\":1759},{\"name\":\"DataSchema\",\"size\":2165},{\"name\":\"DataSet\",\"size\":586},{\"name\":\"DataSource\",\"size\":3331},{\"name\":\"DataTable\",\"size\":772},{\"name\":\"DataUtil\",\"size\":3322}]},{\"name\":\"display\",\"children\":[{\"name\":\"DirtySprite\",\"size\":8833},{\"name\":\"LineSprite\",\"size\":1732},{\"name\":\"RectSprite\",\"size\":3623},{\"name\":\"TextSprite\",\"size\":10066}]},{\"name\":\"flex\",\"children\":[{\"name\":\"FlareVis\",\"size\":4116}]},{\"name\":\"physics\",\"children\":[{\"name\":\"DragForce\",\"size\":1082},{\"name\":\"GravityForce\",\"size\":1336},{\"name\":\"IForce\",\"size\":319},{\"name\":\"NBodyForce\",\"size\":10498},{\"name\":\"Particle\",\"size\":2822},{\"name\":\"Simulation\",\"size\":9983},{\"name\":\"Spring\",\"size\":2213},{\"name\":\"SpringForce\",\"size\":1681}]},{\"name\":\"query\",\"children\":[{\"name\":\"AggregateExpression\",\"size\":1616},{\"name\":\"And\",\"size\":1027},{\"name\":\"Arithmetic\",\"size\":3891},{\"name\":\"Average\",\"size\":891},{\"name\":\"BinaryExpression\",\"size\":2893},{\"name\":\"Comparison\",\"size\":5103},{\"name\":\"CompositeExpression\",\"size\":3677},{\"name\":\"Count\",\"size\":781},{\"name\":\"DateUtil\",\"size\":4141},{\"name\":\"Distinct\",\"size\":933},{\"name\":\"Expression\",\"size\":5130},{\"name\":\"ExpressionIterator\",\"size\":3617},{\"name\":\"Fn\",\"size\":3240},{\"name\":\"If\",\"size\":2732},{\"name\":\"IsA\",\"size\":2039},{\"name\":\"Literal\",\"size\":1214},{\"name\":\"Match\",\"size\":3748},{\"name\":\"Maximum\",\"size\":843},{\"name\":\"methods\",\"children\":[{\"name\":\"add\",\"size\":593},{\"name\":\"and\",\"size\":330},{\"name\":\"average\",\"size\":287},{\"name\":\"count\",\"size\":277},{\"name\":\"distinct\",\"size\":292},{\"name\":\"div\",\"size\":595},{\"name\":\"eq\",\"size\":594},{\"name\":\"fn\",\"size\":460},{\"name\":\"gt\",\"size\":603},{\"name\":\"gte\",\"size\":625},{\"name\":\"iff\",\"size\":748},{\"name\":\"isa\",\"size\":461},{\"name\":\"lt\",\"size\":597},{\"name\":\"lte\",\"size\":619},{\"name\":\"max\",\"size\":283},{\"name\":\"min\",\"size\":283},{\"name\":\"mod\",\"size\":591},{\"name\":\"mul\",\"size\":603},{\"name\":\"neq\",\"size\":599},{\"name\":\"not\",\"size\":386},{\"name\":\"or\",\"size\":323},{\"name\":\"orderby\",\"size\":307},{\"name\":\"range\",\"size\":772},{\"name\":\"select\",\"size\":296},{\"name\":\"stddev\",\"size\":363},{\"name\":\"sub\",\"size\":600},{\"name\":\"sum\",\"size\":280},{\"name\":\"update\",\"size\":307},{\"name\":\"variance\",\"size\":335},{\"name\":\"where\",\"size\":299},{\"name\":\"xor\",\"size\":354},{\"name\":\"_\",\"size\":264}]},{\"name\":\"Minimum\",\"size\":843},{\"name\":\"Not\",\"size\":1554},{\"name\":\"Or\",\"size\":970},{\"name\":\"Query\",\"size\":13896},{\"name\":\"Range\",\"size\":1594},{\"name\":\"StringUtil\",\"size\":4130},{\"name\":\"Sum\",\"size\":791},{\"name\":\"Variable\",\"size\":1124},{\"name\":\"Variance\",\"size\":1876},{\"name\":\"Xor\",\"size\":1101}]},{\"name\":\"scale\",\"children\":[{\"name\":\"IScaleMap\",\"size\":2105},{\"name\":\"LinearScale\",\"size\":1316},{\"name\":\"LogScale\",\"size\":3151},{\"name\":\"OrdinalScale\",\"size\":3770},{\"name\":\"QuantileScale\",\"size\":2435},{\"name\":\"QuantitativeScale\",\"size\":4839},{\"name\":\"RootScale\",\"size\":1756},{\"name\":\"Scale\",\"size\":4268},{\"name\":\"ScaleType\",\"size\":1821},{\"name\":\"TimeScale\",\"size\":5833}]},{\"name\":\"util\",\"children\":[{\"name\":\"Arrays\",\"size\":8258},{\"name\":\"Colors\",\"size\":10001},{\"name\":\"Dates\",\"size\":8217},{\"name\":\"Displays\",\"size\":12555},{\"name\":\"Filter\",\"size\":2324},{\"name\":\"Geometry\",\"size\":10993},{\"name\":\"heap\",\"children\":[{\"name\":\"FibonacciHeap\",\"size\":9354},{\"name\":\"HeapNode\",\"size\":1233}]},{\"name\":\"IEvaluable\",\"size\":335},{\"name\":\"IPredicate\",\"size\":383},{\"name\":\"IValueProxy\",\"size\":874},{\"name\":\"math\",\"children\":[{\"name\":\"DenseMatrix\",\"size\":3165},{\"name\":\"IMatrix\",\"size\":2815},{\"name\":\"SparseMatrix\",\"size\":3366}]},{\"name\":\"Maths\",\"size\":17705},{\"name\":\"Orientation\",\"size\":1486},{\"name\":\"palette\",\"children\":[{\"name\":\"ColorPalette\",\"size\":6367},{\"name\":\"Palette\",\"size\":1229},{\"name\":\"ShapePalette\",\"size\":2059},{\"name\":\"SizePalette\",\"size\":2291}]},{\"name\":\"Property\",\"size\":5559},{\"name\":\"Shapes\",\"size\":19118},{\"name\":\"Sort\",\"size\":6887},{\"name\":\"Stats\",\"size\":6557},{\"name\":\"Strings\",\"size\":22026}]},{\"name\":\"vis\",\"children\":[{\"name\":\"axis\",\"children\":[{\"name\":\"Axes\",\"size\":1302},{\"name\":\"Axis\",\"size\":24593},{\"name\":\"AxisGridLine\",\"size\":652},{\"name\":\"AxisLabel\",\"size\":636},{\"name\":\"CartesianAxes\",\"size\":6703}]},{\"name\":\"controls\",\"children\":[{\"name\":\"AnchorControl\",\"size\":2138},{\"name\":\"ClickControl\",\"size\":3824},{\"name\":\"Control\",\"size\":1353},{\"name\":\"ControlList\",\"size\":4665},{\"name\":\"DragControl\",\"size\":2649},{\"name\":\"ExpandControl\",\"size\":2832},{\"name\":\"HoverControl\",\"size\":4896},{\"name\":\"IControl\",\"size\":763},{\"name\":\"PanZoomControl\",\"size\":5222},{\"name\":\"SelectionControl\",\"size\":7862},{\"name\":\"TooltipControl\",\"size\":8435}]},{\"name\":\"data\",\"children\":[{\"name\":\"Data\",\"size\":20544},{\"name\":\"DataList\",\"size\":19788},{\"name\":\"DataSprite\",\"size\":10349},{\"name\":\"EdgeSprite\",\"size\":3301},{\"name\":\"NodeSprite\",\"size\":19382},{\"name\":\"render\",\"children\":[{\"name\":\"ArrowType\",\"size\":698},{\"name\":\"EdgeRenderer\",\"size\":5569},{\"name\":\"IRenderer\",\"size\":353},{\"name\":\"ShapeRenderer\",\"size\":2247}]},{\"name\":\"ScaleBinding\",\"size\":11275},{\"name\":\"Tree\",\"size\":7147},{\"name\":\"TreeBuilder\",\"size\":9930}]},{\"name\":\"events\",\"children\":[{\"name\":\"DataEvent\",\"size\":2313},{\"name\":\"SelectionEvent\",\"size\":1880},{\"name\":\"TooltipEvent\",\"size\":1701},{\"name\":\"VisualizationEvent\",\"size\":1117}]},{\"name\":\"legend\",\"children\":[{\"name\":\"Legend\",\"size\":20859},{\"name\":\"LegendItem\",\"size\":4614},{\"name\":\"LegendRange\",\"size\":10530}]},{\"name\":\"operator\",\"children\":[{\"name\":\"distortion\",\"children\":[{\"name\":\"BifocalDistortion\",\"size\":4461},{\"name\":\"Distortion\",\"size\":6314},{\"name\":\"FisheyeDistortion\",\"size\":3444}]},{\"name\":\"encoder\",\"children\":[{\"name\":\"ColorEncoder\",\"size\":3179},{\"name\":\"Encoder\",\"size\":4060},{\"name\":\"PropertyEncoder\",\"size\":4138},{\"name\":\"ShapeEncoder\",\"size\":1690},{\"name\":\"SizeEncoder\",\"size\":1830}]},{\"name\":\"filter\",\"children\":[{\"name\":\"FisheyeTreeFilter\",\"size\":5219},{\"name\":\"GraphDistanceFilter\",\"size\":3165},{\"name\":\"VisibilityFilter\",\"size\":3509}]},{\"name\":\"IOperator\",\"size\":1286},{\"name\":\"label\",\"children\":[{\"name\":\"Labeler\",\"size\":9956},{\"name\":\"RadialLabeler\",\"size\":3899},{\"name\":\"StackedAreaLabeler\",\"size\":3202}]},{\"name\":\"layout\",\"children\":[{\"name\":\"AxisLayout\",\"size\":6725},{\"name\":\"BundledEdgeRouter\",\"size\":3727},{\"name\":\"CircleLayout\",\"size\":9317},{\"name\":\"CirclePackingLayout\",\"size\":12003},{\"name\":\"DendrogramLayout\",\"size\":4853},{\"name\":\"ForceDirectedLayout\",\"size\":8411},{\"name\":\"IcicleTreeLayout\",\"size\":4864},{\"name\":\"IndentedTreeLayout\",\"size\":3174},{\"name\":\"Layout\",\"size\":7881},{\"name\":\"NodeLinkTreeLayout\",\"size\":12870},{\"name\":\"PieLayout\",\"size\":2728},{\"name\":\"RadialTreeLayout\",\"size\":12348},{\"name\":\"RandomLayout\",\"size\":870},{\"name\":\"StackedAreaLayout\",\"size\":9121},{\"name\":\"TreeMapLayout\",\"size\":9191}]},{\"name\":\"Operator\",\"size\":2490},{\"name\":\"OperatorList\",\"size\":5248},{\"name\":\"OperatorSequence\",\"size\":4190},{\"name\":\"OperatorSwitch\",\"size\":2581},{\"name\":\"SortOperator\",\"size\":2023}]},{\"name\":\"Visualization\",\"size\":16540}]}]}'\n", "aa = json.loads(spjson)\n", "\n", "def process(node, parent):\n", " treeNode = TreeMapNode(node.get('name'))\n", " if node.get('size') is None:\n", " treeNode = TreeMapNode(node.get('name'))\n", " else:\n", " treeNode = TreeMapNode(node.get('name'), node.get('size'), DefaultValue(node.get('size')))\n", " \n", " parent.add(treeNode)\n", " \n", " children = node.get('children')\n", " if children is not None:\n", " for node in node.get('children'):\n", " process(node, treeNode)\n", "\n", "\n", "real_node = TreeMapNode(\"root\")\n", "\n", "\n", "process(aa, real_node)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from beakerx import *\n", "x = TreeMap(\n", " root= node,\n", " showLegend= True,\n", " title= \"Simple TreeChart\"\n", ")\n", "x" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Other Properties" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* mode\n", "* ratio\n", "* round\n", "* sticky\n", "* valueAccessor" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Mode property" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If mode is specified, sets the layout algorithm. If mode is not specified, returns the current layout algorithm, which defaults to \"squarify\". The following modes are supported:\n", "\n", "* squarify - rectangular subdivision; squareness controlled via the target ratio.\n", "* slice - horizontal subdivision.\n", "* dice - vertical subdivision.\n", "* slice-dice - alternating between horizontal and vertical subdivision." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "x = TreeMap(\n", " root= node,\n", " mode= Mode.SQUARIFY,\n", " title= \"Mode.SQUARIFY\"\n", ")\n", "x" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "x = TreeMap(\n", " root= node,\n", " mode= Mode.SLICE,\n", " title= \"Mode.SLICE\"\n", ")\n", "x" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "x = TreeMap(\n", " root= node,\n", " mode= Mode.DICE,\n", " title= \"Mode.DICE\"\n", ")\n", "x" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "x = TreeMap(\n", " root= node,\n", " mode= Mode.SLICE_DIC,\n", " title= \"Mode.SLICE_DIC\"\n", ")\n", "x" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Sticky property" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If sticky is specified, sets whether or not the treemap layout is \"sticky\": a sticky treemap layout will preserve the relative arrangement of nodes across transitions. The allocation of nodes into squarified horizontal and vertical rows is persisted across updates \n", "by storing a z attribute on the last element in each row; this allows nodes to be resized smoothly, without shuffling or occlusion that would impede perception of changing values. Note, however, that this results in a suboptimal layout for one of the two states. \n", "If sticky is not specified, returns whether the treemap layout is sticky.\n", "\n", "Implementation note: sticky treemaps cache the array of nodes internally; therefore, it is not possible to reuse the same layout instance on multiple datasets. To reset the cached state when switching datasets with a sticky layout, call sticky(true) again. Since version \n", "1.25.0, hierarchy layouts no longer copy the input data by default on each invocation, so it may be possible to eliminate caching and make the layout fully stateless." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Round property" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If round is specified, sets whether or not the treemap layout will round to exact pixel boundaries. This can be nice to avoid antialiasing artifacts in SVG. If round is not specified, returns whether the treemap will be rounded." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Ratio property" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If ratio is specified, sets the layout ratio. If ratio is not specified, returns the current layout ratio, which defaults to .5 * (1 + Math.sqrt(5))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "x = TreeMap(\n", " root= node,\n", " ratio= 0.5,\n", " title= \"Property 'ratio' is 0.5\"\n", ")\n", "x" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "x = TreeMap(\n", " root= node,\n", " toolTipBuilder= toolTipBuilder,\n", " colorProvider= RandomColorProvider(),\n", " valueAccessor= ValueAccessor.VALUE,\n", " title= \"ValueAccessor.VALUE\"\n", ")\n", "x" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "x = TreeMap(\n", " root= node,\n", " toolTipBuilder= toolTipBuilder,\n", " colorProvider= RandomColorProvider(),\n", " valueAccessor= ValueAccessor.WEIGHT,\n", " title= \"ValueAccessor.WEIGHT\"\n", ")\n", "x" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "x = TreeMap(\n", " root= node,\n", " toolTipBuilder= toolTipBuilder,\n", " title= \"Using custom ToolTipBuilder\"\n", ")\n", "x" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### ColorProviders" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In curent moment we are supporting next ColorProviders\n", "\n", "* RandomColorProvider (default)\n", "* GradientColorProvider\n", "\n", "You can set property 'fromValue' for providers thar uses min and max values. If this property is 'true' then value uses for color calculating. Otherwise - wight." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### RandomColorProvider" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "x = TreeMap(\n", " root= node,\n", " toolTipBuilder= toolTipBuilder,\n", " colorProvider= RandomColorProvider(),\n", " title= \"Default RandomColorProvider\"\n", ")\n", "x" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "colours = [\n", " Color(255, 0, 0),\n", " Color(0, 255, 0),\n", " Color(0, 0, 255),\n", " Color(255, 255, 0),\n", " Color(255, 0, 255),\n", " Color(0, 255, 255),\n", " Color(102, 102, 51),\n", " Color(255, 51, 153),\n", " Color(255, 153, 51),\n", " Color(204, 204, 51),\n", " Color(205, 102, 204),\n", " Color(51, 153, 255),\n", " Color(153, 102, 0)\n", " ]\n", "\n", "y = TreeMap(\n", " root= node,\n", " toolTipBuilder= toolTipBuilder,\n", " colorProvider= RandomColorProvider(colours),\n", " title= \"RandomColorProvider with different colours\"\n", ")\n", "y" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### GradientColorProvider" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "x = TreeMap(\n", " root= node,\n", " toolTipBuilder= toolTipBuilder,\n", " title= \"GradientColorProvider with default colours\"\n", ")\n", "x.setColorProvider(GradientColorProvider(x))\n", "x" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "x = TreeMap(\n", " root= node,\n", " toolTipBuilder= toolTipBuilder,\n", " title= \"GradientColorProvider with overrides colours\"\n", ")\n", "x.setColorProvider(GradientColorProvider(x, Color.LIGHT_GRAY, Color.DARK_GRAY))\n", "x" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "x = TreeMap(\n", " root= big_node,\n", " showLegend= False,\n", " toolTipBuilder= toolTipBuilder,\n", " title= \"Big TreeMap chart (1500 entities)\"\n", ")\n", "x.setColorProvider(GradientColorProvider(x))\n", "x" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example from http://bl.ocks.org/mbostock/4063582" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "colorProvider = RandomColorProvider(\n", " [\n", " '#3182bd',\n", " '#6baed6',\n", " '#9ecae1',\n", " '#c6dbef',\n", " '#e6550d',\n", " '#fd8d3c',\n", " '#fdae6b',\n", " '#fdd0a2',\n", " '#31a354',\n", " '#74c476',\n", " '#a1d99b',\n", " '#c7e9c0',\n", " '#756bb1',\n", " '#9e9ac8',\n", " '#bcbddc',\n", " '#dadaeb',\n", " '#636363',\n", " '#969696',\n", " '#bdbdbd',\n", " '#d9d9d9'\n", " ]\n", ")\n", "colorProvider.setGroupByParent(True)\n", "\n", "x = TreeMap(\n", " root= real_node,\n", " showLegend= False,\n", " toolTipBuilder= toolTipBuilder,\n", " colorProvider = colorProvider,\n", " title= \"Flare\",\n", " initWidth= 1300,\n", " initHeight= 600\n", ")\n", "x" ] }, { "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.6.2" } }, "nbformat": 4, "nbformat_minor": 2 }