{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import com.twosigma.beaker.scala.fileloader.CsvPlotReader\n", "import com.twosigma.beaker.scala.table._\n", "\n", "val table = new TableDisplay(new CsvPlotReader().readFile(\"../tableRows.csv\"))\n", "\n", "table.display" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import com.twosigma.beaker.scala.table._\n", "import com.twosigma.beaker.scala.fileloader.CsvPlotReader\n", "import com.twosigma.beaker.table.format.TableDisplayStringFormat\n", "import java.util.concurrent.TimeUnit\n", "\n", "val display = new TableDisplay(new CsvPlotReader().readFile(\"../tableRows.csv\"))\n", "//show all time columns in days\n", "display.setStringFormatForTimes(TimeUnit.DAYS)\n", "//min 4, max 6 decimal places for all doubles\n", "display.setStringFormatForType(ColumnType.Double, TableDisplayStringFormat.getDecimalFormat(4,6))\n", "//setting for a column takes precidence over the type\n", "display.setStringFormatForColumn(\"m3\", TableDisplayStringFormat.getDecimalFormat(0, 0))\n", "//set the alignment\n", "display.setAlignmentProviderForType(ColumnType.Double, TableDisplayAlignmentProvider.RIGHT_ALIGNMENT)\n", "display.setAlignmentProviderForColumn(\"m3\", TableDisplayAlignmentProvider.CENTER_ALIGNMENT)\n", "\n", "display.display" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "display.setStringFormatForTimes(TimeUnit.HOURS)\n", "\n", "display.display" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import com.twosigma.beaker.scala.table._\n", "import com.twosigma.beaker.scala.fileloader.CsvPlotReader\n", "import com.twosigma.beaker.table.format.TableDisplayStringFormat\n", "import com.twosigma.beaker.table.renderer.TableDisplayCellRenderer\n", "import java.util.concurrent.TimeUnit\n", "\n", "val display2 = new TableDisplay(new CsvPlotReader().readFile(\"../tableRows.csv\"))\n", "//right now, the only renderer option is for data bars\n", "display2.setRendererForType(ColumnType.Double, TableDisplayCellRenderer.getDataBarsRenderer())\n", "//use the false parameter to hide the String value\n", "display2.setRendererForColumn(\"y10\", TableDisplayCellRenderer.getDataBarsRenderer(false))\n", "\n", "display2.display" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import com.twosigma.beaker.scala.table._\n", "import com.twosigma.beaker.scala.fileloader.CsvPlotReader\n", "import com.twosigma.beaker.table.format.TableDisplayStringFormat\n", "import com.twosigma.beaker.table.renderer.TableDisplayCellRenderer\n", "\n", "val display3 = new TableDisplay(new CsvPlotReader().readFile(\"../tableRows.csv\"))\n", "display3.setStringFormatForType(ColumnType.Double, TableDisplayStringFormat.getDecimalFormat(9,9))\n", "//freeze a column\n", "display3.setColumnFrozen(\"y1\", true)\n", "//freeze a column to the right\n", "display3.setColumnFrozenRight(\"y10\", true)\n", "//hide a column\n", "display3.setColumnVisible(\"y30\", false)\n", "\n", "//explicitly set column order/visiblity\n", "display3.setColumnOrder(List(\"m3\", \"y1\", \"y5\", \"time\", \"y2\")) //Columns in the list will be shown in the provided order. Columns not in the list will be hidden.\n", "display3.display" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import com.twosigma.beaker.scala.table._\n", "import com.twosigma.beaker.scala.fileloader.CsvPlotReader\n", "import com.twosigma.beaker.table.format.TableDisplayStringFormat\n", "import com.twosigma.beaker.table.renderer.TableDisplayCellRenderer\n", "import com.twosigma.beaker.table.highlight.TableDisplayCellHighlighter\n", "\n", "def display4 = new TableDisplay(new CsvPlotReader().readFile(\"../tableRows.csv\"))\n", "display4.addCellHighlighter(TableDisplayCellHighlighter.getHeatmapHighlighter(\"m3\", TableDisplayCellHighlighter.FULL_ROW))\n", "\n", "//the following two overloads should also be supported\n", "//set the min and max used for calculating the color\n", "//display4.addCellHighlighter(TableDisplayCellHighlighter.getHeatmapHighlighter(\"y1\", TableDisplayCellHighlighter.FULL_ROW, 0, 5))\n", "//set the colors used for the min and max\n", "//display4.addCellHighlighter(TableDisplayCellHighlighter.getHeatmapHighlighter(\"m6\", TableDisplayCellHighlighter.SINGLE_COLUMN, null, null, Color.YELLOW, Color.BLUE))\n", "\n", "display4.display" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import com.twosigma.beaker.scala.table._\n", "import com.twosigma.beaker.scala.fileloader.CsvPlotReader\n", "\n", "val map = List(Map(\"a\" -> 1, \"b\" -> 2, \"c\" -> 3),\n", " Map(\"a\" -> 4, \"b\" -> 5, \"c\" -> 6),\n", " Map(\"a\" -> 7, \"b\" -> 8, \"c\" -> 9))\n", "\n", "val display5 = new TableDisplay(map)\n", "\n", "\n", "display5.addCellHighlighter((row, column, display5) => {\n", " if (display5.getValues.get(row).get(column).asInstanceOf[Int] > 5) Color.RED else Color.GREEN\n", "})\n", "\n", "display5.display" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import com.twosigma.beaker.scala.table._\n", "import com.twosigma.beaker.scala.fileloader.CsvPlotReader\n", "import com.twosigma.beaker.chart.Color\n", "import com.twosigma.beaker.table.highlight.ThreeColorHeatmapHighlighter\n", "\n", "val display6 = new TableDisplay(new CsvPlotReader().readFile(\"../tableRows.csv\"))\n", "display6.addCellHighlighter(TableDisplayCellHighlighter.getHeatmapHighlighter(\"m3\", 0, 8, Color.ORANGE, Color.PINK))\n", "display6.addCellHighlighter(TableDisplayCellHighlighter.getHeatmapHighlighter(\"m6\", TableDisplayCellHighlighter.SINGLE_COLUMN, 6, 8, Color.BLACK, Color.PINK))\n", "\n", "display6.addCellHighlighter(new ThreeColorHeatmapHighlighter(\"y1\", TableDisplayCellHighlighter.SINGLE_COLUMN, 4, 6, 8, new Color(247,106,106), new Color(239,218,82), new Color(100,189,122)))\n", "\n", "//wipe out all highlighting\n", "//display6.removeAllCellHighlighters()\n", "display6.display" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import com.twosigma.beaker.scala.table._\n", "import com.twosigma.beaker.scala.fileloader.CsvPlotReader\n", "import com.twosigma.beaker.chart.Color\n", "import com.twosigma.beaker.table.highlight.ThreeColorHeatmapHighlighter\n", "\n", "val table = new TableDisplay(List(List(1,2,3), \n", " List(3,4,5), \n", " List(6,2,8), \n", " List(6,2,8), \n", " List(6,2,8), \n", " List(6,4,8), \n", " List(6,2,8), \n", " List(6,2,8), \n", " List(6,5,8)), \n", " List(\"a\", \"b\", \"b\"), \n", " List(\"double\", \"double\", \"double\"))\n", "\n", "table.addCellHighlighter(TableDisplayCellHighlighter.getUniqueEntriesHighlighter(\"b\", TableDisplayCellHighlighter.FULL_ROW))\n", "table.display" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import com.twosigma.beaker.scala.table._\n", "import com.twosigma.beaker.scala.fileloader.CsvPlotReader\n", "\n", "val mapList4 = List(\n", " Map(\"a\" -> 1, \"b\" -> 2, \"c\" -> 3),\n", " Map(\"a\" -> 4, \"b\" -> 5, \"c\" -> 6),\n", " Map(\"a\" -> 7, \"b\" -> 8, \"c\" -> 9)\n", ")\n", "\n", "val display7 = new TableDisplay(mapList4)\n", "\n", "//run tagged cell on action\n", "display7.addContextMenuItem(\"run misc_formatting\", \"misc_formatting\");\n", "display7.setDoubleClickAction(\"misc_formatting\");\n", "\n", "//add a context menu item\n", "display7.addContextMenuItem(\"negate\", (row, col, tableDisplay) => {\n", " print (tableDisplay.getValues().get(row).get(col))\n", "\n", "})\n", "\n", "display7.display" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import com.twosigma.beaker.scala.table._\n", "import com.twosigma.beaker.scala.fileloader.CsvPlotReader\n", "\n", "val mapList4 = List(\n", " Map(\"a\" -> 1, \"b\" -> 2, \"c\" -> 3),\n", " Map(\"a\" -> 4, \"b\" -> 5, \"c\" -> 6),\n", " Map(\"a\" -> 7, \"b\" -> 8, \"c\" -> 9)\n", ")\n", "\n", "val display7 = new TableDisplay(mapList4)\n", "\n", "//add a context menu item\n", "display7.addContextMenuItem(\"print\", (row, col, tableDisplay) => {\n", " print(tableDisplay.getValues().get(row).get(col))\n", "})\n", "\n", "//run tagged cell on action\n", "display7.addContextMenuItem(\"run misc_formatting\", \"misc_formatting\");\n", "display7.setDoubleClickAction(\"misc_formatting\");\n", "\n", "display7.display" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import com.twosigma.beaker.scala.table._\n", "import com.twosigma.beaker.scala.fileloader.CsvPlotReader\n", "import com.twosigma.beaker.chart.Color\n", "\n", "val mapList5 = List(\n", " Map(\"firstCol\" -> 1, \"secondCol\" -> 2, \"thirdCol\" -> 3),\n", " Map(\"firstCol\" -> 4, \"secondCol\" -> 5, \"thirdCol\" -> 6),\n", " Map(\"firstCol\" -> 9, \"secondCol\" -> 8, \"thirdCol\" -> 7))\n", "\n", "val td4 = new TableDisplay(mapList5)\n", "\n", "//tool tip can be set with a closure\n", "td4.setTooltip((row, col, display) => {\n", " \"The value is: \" + display.getValues().get(row).get(col)\n", "})\n", "\n", "//set the font size and color\n", "td4.setDataFontSize(15)\n", "td4.setHeaderFontSize(30)\n", "\n", "val colors = List(\n", " List(Color.LIGHT_GRAY, Color.GRAY, Color.RED),\n", " List(Color.YELLOW, Color.ORANGE, Color.RED),\n", " List(Color.MAGENTA, Color.BLUE, Color.BLACK))\n", "\n", "td4.setFontColorProvider((row, col, td4) => {\n", " colors(row)(col)\n", "})\n", "\n", "//try different filter options\n", "td4.setRowFilter((row, td4) => {\n", " if (td4.get(row).get(0).asInstanceOf[Int] > 0) true else false\n", "})\n", "\n", "//set vertical headers\n", "//you can also do this in the right-click menu\n", "td4.setHeadersVertical(true)\n", "\n", "td4.display" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "val abc = 0; // test variable\n", "val mapList = List(\n", " Map(\"a\" -> 1, \"b\" -> 2, \"c\" -> 3),\n", " Map(\"a\" -> 4, \"b\" -> 5, \"c\" -> 6),\n", " Map(\"a\" -> 7, \"b\" -> 8, \"c\" -> 8),\n", ")" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import com.twosigma.beaker.scala.table._\n", " \n", "val display1 = new TableDisplay(mapList)\n", "\n", "//add a context menu item\n", "display1.addContextMenuItem(\"print\", (row, col, tableDisplay) => {\n", " print (tableDisplay.getValues().get(row).get(col))\n", "})\n", "\n", "display1.display" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import com.twosigma.beaker.scala.table._\n", " \n", "val display2 = new TableDisplay(mapList)\n", "\n", "//run tagged cell on action\n", "display2.addContextMenuItem(\"run print cell\", \"print_cell\");\n", "display2.setDoubleClickAction(\"print_cell\");\n", "\n", "display2.display" ] } ], "metadata": { "beakerx_kernel_parameters": { "classpath": [], "imports": [ "com.twosigma.beaker.chart.xychart.*", "com.twosigma.beaker.easyform.EasyForm", "com.twosigma.beaker.chart.Filter", "com.twosigma.beaker.scala.table._", "com.twosigma.beaker.chart.Color", "com.twosigma.beaker.NamespaceClient", "com.twosigma.beaker.fileloader.CsvPlotReader", "com.twosigma.beaker.chart.treemap.*", "com.twosigma.beaker.jvm.object.OutputCell", "com.twosigma.beaker.chart.treemap.util.*", "com.twosigma.beaker.chart.categoryplot.plotitem.*", "com.twosigma.beaker.chart.categoryplot.*", "com.twosigma.beaker.scala.easyform.EasyForm", "com.twosigma.beaker.chart.xychart.plotitem.*", "com.twosigma.beaker.table.*", "com.twosigma.beaker.scala.chart.xychart._", "com.twosigma.beaker.scala.fileloader._", "com.twosigma.beaker.chart.GradientColor", "com.twosigma.beaker.scala.chart.xychart.plotitem._", "com.twosigma.beaker.chart.legend.*", "net.sf.jtreemap.swing.*", "com.twosigma.beaker.chart.histogram.*", "com.twosigma.beaker.chart.heatmap.HeatMap" ] }, "kernelspec": { "display_name": "Scala", "language": "scala", "name": "scala" }, "language_info": { "codemirror_mode": "text/x-scala", "file_extension": ".scala", "mimetype": "", "name": "Scala", "nbconverter_exporter": "", "version": "2.12.2" } }, "nbformat": 4, "nbformat_minor": 1 }