val table = new TableDisplay(new CSV().readFile("../resources/data/interest-rates.csv")) table import com.twosigma.beakerx.scala.table._ import com.twosigma.beakerx.scala.fileloader.CSV import com.twosigma.beakerx.table.format.TableDisplayStringFormat import java.util.concurrent.TimeUnit val display = new TableDisplay(new CSV().readFile("../resources/data/interest-rates.csv")) //show all time columns in days display.setStringFormatForTimes(TimeUnit.DAYS) //min 4, max 6 decimal places for all doubles display.setStringFormatForType(ColumnType.Double, TableDisplayStringFormat.getDecimalFormat(4,6)) //setting for a column takes precidence over the type display.setStringFormatForColumn("m3", TableDisplayStringFormat.getDecimalFormat(0, 0)) //set the alignment display.setAlignmentProviderForType(ColumnType.Double, TableDisplayAlignmentProvider.RIGHT_ALIGNMENT) display.setAlignmentProviderForColumn("m3", TableDisplayAlignmentProvider.CENTER_ALIGNMENT) display display.setStringFormatForTimes(TimeUnit.HOURS) display import com.twosigma.beakerx.scala.table._ import com.twosigma.beakerx.scala.fileloader.CSV import com.twosigma.beakerx.table.format.TableDisplayStringFormat import com.twosigma.beakerx.table.renderer.TableDisplayCellRenderer import java.util.concurrent.TimeUnit val display2 = new TableDisplay(new CSV().readFile("../resources/data/interest-rates.csv")) //right now, the only renderer option is for data bars display2.setRendererForType(ColumnType.Double, TableDisplayCellRenderer.getDataBarsRenderer()) //use the false parameter to hide the String value display2.setRendererForColumn("y10", TableDisplayCellRenderer.getDataBarsRenderer(false)) display2 import com.twosigma.beakerx.scala.table._ import com.twosigma.beakerx.scala.fileloader.CSV import com.twosigma.beakerx.table.format.TableDisplayStringFormat import com.twosigma.beakerx.table.renderer.TableDisplayCellRenderer val display3 = new TableDisplay(new CSV().readFile("../resources/data/interest-rates.csv")) display3.setStringFormatForType(ColumnType.Double, TableDisplayStringFormat.getDecimalFormat(9,9)) //freeze a column display3.setColumnFrozen("y1", true) //freeze a column to the right display3.setColumnFrozenRight("y10", true) //hide a column display3.setColumnVisible("y30", false) //explicitly set column order/visiblity 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. display3 import com.twosigma.beakerx.scala.table._ import com.twosigma.beakerx.scala.fileloader.CSV import com.twosigma.beakerx.table.format.TableDisplayStringFormat import com.twosigma.beakerx.table.renderer.TableDisplayCellRenderer import com.twosigma.beakerx.table.highlight.TableDisplayCellHighlighter def display4 = new TableDisplay(new CSV().readFile("../resources/data/interest-rates.csv")) display4.addCellHighlighter(TableDisplayCellHighlighter.getHeatmapHighlighter("m3", TableDisplayCellHighlighter.FULL_ROW)) //the following two overloads should also be supported //set the min and max used for calculating the color //display4.addCellHighlighter(TableDisplayCellHighlighter.getHeatmapHighlighter("y1", TableDisplayCellHighlighter.FULL_ROW, 0, 5)) //set the colors used for the min and max //display4.addCellHighlighter(TableDisplayCellHighlighter.getHeatmapHighlighter("m6", TableDisplayCellHighlighter.SINGLE_COLUMN, null, null, Color.YELLOW, Color.BLUE)) display4 import com.twosigma.beakerx.scala.table._ import com.twosigma.beakerx.scala.fileloader.CSV val map = Seq(Map("a" -> 1, "b" -> 2, "c" -> 3), Map("a" -> 4, "b" -> 5, "c" -> 6), Map("a" -> 7, "b" -> 8, "c" -> 9)) val display5 = new TableDisplay(map) display5.addCellHighlighter(new CellHighlighter { override def apply(row: Integer, column: Integer, display: com.twosigma.beakerx.table.TableDisplay): Color = { if (display.getValues.get(row).get(column).asInstanceOf[Int] > 5) Color.RED else Color.GREEN } }) display5 import com.twosigma.beakerx.scala.table._ import com.twosigma.beakerx.scala.fileloader.CSV import com.twosigma.beakerx.chart.Color import com.twosigma.beakerx.table.highlight.ThreeColorHeatmapHighlighter val display6 = new TableDisplay(new CSV().readFile("../resources/data/interest-rates.csv")) display6.addCellHighlighter(TableDisplayCellHighlighter.getHeatmapHighlighter("m3", 0, 8, Color.ORANGE, Color.PINK)) display6.addCellHighlighter(TableDisplayCellHighlighter.getHeatmapHighlighter("m6", HighlightStyle.SINGLE_COLUMN, 6, 8, Color.BLACK, Color.PINK)) display6.addCellHighlighter(new ThreeColorHeatmapHighlighter("y1", HighlightStyle.SINGLE_COLUMN, 4, 6, 8, new Color(247,106,106), new Color(239,218,82), new Color(100,189,122))) //wipe out all highlighting //display6.removeAllCellHighlighters() display6 import com.twosigma.beakerx.scala.table._ import com.twosigma.beakerx.scala.fileloader.CSV import com.twosigma.beakerx.chart.Color import com.twosigma.beakerx.table.highlight.ThreeColorHeatmapHighlighter val table = new TableDisplay(Seq(Seq(1,2,3), Seq(3,4,5), Seq(6,2,8), Seq(6,2,8), Seq(6,2,8), Seq(6,4,8), Seq(6,2,8), Seq(6,2,8), Seq(6,5,8)), Seq("a", "b", "b"), Seq("double", "double", "double")) table.addCellHighlighter(TableDisplayCellHighlighter.getUniqueEntriesHighlighter("b", HighlightStyle.FULL_ROW)) table import com.twosigma.beakerx.scala.table._ val mapList4 = Seq( Map("a" -> 1, "b" -> 2, "c" -> 3), Map("a" -> 4, "b" -> 5, "c" -> 6), Map("a" -> 7, "b" -> 8, "c" -> 9) ) val display7 = new TableDisplay(mapList4) //run tagged cell on action display7.addContextMenuItem("run misc_formatting", "misc_formatting"); display7.setDoubleClickAction("misc_formatting"); //add a context menu item display7.addCellHighlighter(new CellHighlighter { override def apply(row: Integer, column: Integer, display: com.twosigma.beakerx.table.TableDisplay): Color = { if (display.getValues.get(row).get(column).asInstanceOf[Int] > 5) Color.RED else Color.GREEN } }) display7 import com.twosigma.beakerx.scala.table._ import com.twosigma.beakerx.scala.fileloader.CSV val mapList4 = List( Map("a" -> 1, "b" -> 2, "c" -> 3), Map("a" -> 4, "b" -> 5, "c" -> 6), Map("a" -> 7, "b" -> 8, "c" -> 9) ) val display7 = new TableDisplay(mapList4) //add a context menu item display7.addContextMenuItem("print", new ContextMenuAction { override def apply(row: Integer, column: Integer, display: com.twosigma.beakerx.table.TableDisplay): Unit = { print (display.getValues.get(row).get(column)) } }) //run tagged cell on action display7.addContextMenuItem("run misc_formatting", "misc_formatting"); display7.setDoubleClickAction("misc_formatting"); display7 import com.twosigma.beakerx.scala.table._ import com.twosigma.beakerx.scala.fileloader.CSV import com.twosigma.beakerx.chart.Color import java.{lang, util} val mapList5 = List( Map("firstCol" -> 1, "secondCol" -> 2, "thirdCol" -> 3), Map("firstCol" -> 4, "secondCol" -> 5, "thirdCol" -> 6), Map("firstCol" -> 9, "secondCol" -> 8, "thirdCol" -> 7)) val td4 = new TableDisplay(mapList5) td4.setTooltip(new TooltipAction { override def apply(row: Integer, col: Integer, display: com.twosigma.beakerx.table.TableDisplay): String = { "The value is: " + display.getValues().get(row).get(col) } }) //set the font size and color td4.setDataFontSize(15) td4.setHeaderFontSize(30) val colors = Seq( Seq(Color.LIGHT_GRAY, Color.GRAY, Color.RED), Seq(Color.YELLOW, Color.ORANGE, Color.RED), Seq(Color.MAGENTA, Color.BLUE, Color.BLACK)) td4.setFontColorProvider(new FontColorProvider { override def apply(row: Integer, col: Integer, display: com.twosigma.beakerx.table.TableDisplay): Color = { colors(row)(col) } }) td4.setRowFilter(new RowFilter { override def apply(row: Integer, values: util.List[util.List[_]]): lang.Boolean = { if (values.get(row).get(0).asInstanceOf[Int] > 0) true else false } }) //set vertical headers //you can also do this in the right-click menu td4.setHeadersVertical(true) td4 val abc = 0 // test variable val mapList = Seq( Map("a" -> 1, "b" -> 2, "c" -> 3), Map("a" -> 4, "b" -> 5, "c" -> 6), Map("a" -> 7, "b" -> 8, "c" -> 8) ) import com.twosigma.beakerx.scala.table._ val display1 = new TableDisplay(mapList) //add a context menu item display1.addContextMenuItem("print", new ContextMenuAction { override def apply(row: Integer, column: Integer, display: com.twosigma.beakerx.table.TableDisplay): Unit = { print (display.getValues.get(row).get(column)) } }) display1 import com.twosigma.beakerx.scala.table._ val display2 = new TableDisplay(mapList) //run tagged cell on action display2.addContextMenuItem("run print cell", "print_cell"); display2.setDoubleClickAction("print_cell"); display2