Class JSparklinesBarChartTableCellRenderer

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
no.uib.jsparklines.renderers.JSparklinesBarChartTableCellRenderer
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, TableCellRenderer

public class JSparklinesBarChartTableCellRenderer
extends JPanel
implements TableCellRenderer
Table cell renderer displaying JSparklines bar charts. Supported input: Integer, Short, Byte, Long, Double, Float, XYDataPoint and ValueAndBooleanDataPoint objects. Other object types are rendered using the DefaultTableCellRenderer.
Author:
Harald Barsnes
See Also:
Serialized Form
  • Constructor Details

    • JSparklinesBarChartTableCellRenderer

      public JSparklinesBarChartTableCellRenderer​(org.jfree.chart.plot.PlotOrientation plotOrientation, Double maxValue, boolean largeNumbersAreGood)
      Creates a new JSparklinesBarChartTableCellRenderer. Use this constructor when only positive values are to be plotted. This constructor uses default colors for the bars. If you want to set your own colors, use one of the other constructors.
      Parameters:
      plotOrientation - the orientation of the plot
      maxValue - the maximum value to be plotted, used to make sure that all plots in the same column has the same maximum value and are thus comparable (this is the same as setting the minimum value to 0)
      largeNumbersAreGood - makes sure that different colors are used for bars where large numbers are "good", versus when small numbers are "good"
      Throws:
      IllegalArgumentException - if maxValue < 0.0
    • JSparklinesBarChartTableCellRenderer

      public JSparklinesBarChartTableCellRenderer​(org.jfree.chart.plot.PlotOrientation plotOrientation, Double maxValue, Color positiveValuesColor)
      Creates a new JSparklinesBarChartTableCellRenderer. Use this constructor when only positive values are to be plotted.
      Parameters:
      plotOrientation - the orientation of the plot
      maxValue - the maximum value to be plotted, used to make sure that all plots in the same column has the same maximum value and are thus comparable (this is the same as setting the minimum value to 0)
      positiveValuesColor - the color to use for the positive values if two sided data is shown, and the color used for one sided data
      Throws:
      IllegalArgumentException - if maxValue < 0.0
    • JSparklinesBarChartTableCellRenderer

      public JSparklinesBarChartTableCellRenderer​(org.jfree.chart.plot.PlotOrientation plotOrientation, Double maxValue, Color positiveValuesColor, Color nonSignificantColor, double significanceLevel)
      Creates a new JSparklinesBarChartTableCellRenderer. Use this constructor when only positive values are to be plotted. Note that to use the significance color coding the object in the table cell has to be of type XYDataPoint.
      Parameters:
      plotOrientation - the orientation of the plot
      maxValue - the maximum value to be plotted, used to make sure that all plots in the same column has the same maximum value and are thus comparable (this is the same as setting the minimum value to 0)
      positiveValuesColor - the color to use for the positive values if two sided data is shown, and the color used for one sided data
      nonSignificantColor - the color to use for the non-significant values
      significanceLevel - the upper level for when to use the significant values color
      Throws:
      IllegalArgumentException - if maxValue < 0.0
    • JSparklinesBarChartTableCellRenderer

      public JSparklinesBarChartTableCellRenderer​(org.jfree.chart.plot.PlotOrientation plotOrientation, Double minValue, Double maxValue)
      Creates a new JSparklinesBarChartTableCellRenderer. Use this constructor when positive and negative values are to be plotted. This constructor uses default colors for the bars. If you want to set your own colors, use one of the other constructors.
      Parameters:
      plotOrientation - the orientation of the plot
      minValue - the minimum value to be plotted, used to make sure that all plots in the same column has the same minimum value and are thus comparable
      maxValue - the maximum value to be plotted, used to make sure that all plots in the same column has the same maximum value and are thus comparable
      Throws:
      IllegalArgumentException - if minValue > maxValue
    • JSparklinesBarChartTableCellRenderer

      public JSparklinesBarChartTableCellRenderer​(org.jfree.chart.plot.PlotOrientation plotOrientation, Double minValue, Double maxValue, Color negativeValuesColor, Color positiveValuesColor)
      Creates a new JSparklinesBarChartTableCellRenderer. Use this constructor when positive and negative values are to be plotted.
      Parameters:
      plotOrientation - the orientation of the plot
      minValue - the minimum value to be plotted, used to make sure that all plots in the same column has the same minimum value and are thus comparable
      maxValue - the maximum value to be plotted, used to make sure that all plots in the same column has the same maximum value and are thus comparable
      negativeValuesColor - the color to use for the negative values if two sided data is shown
      positiveValuesColor - the color to use for the positive values if two sided data is shown, and the color used for one sided data
      Throws:
      IllegalArgumentException - if minValue > maxValue
    • JSparklinesBarChartTableCellRenderer

      public JSparklinesBarChartTableCellRenderer​(org.jfree.chart.plot.PlotOrientation plotOrientation, Double minValue, Double maxValue, Color negativeValuesColor, Color positiveValuesColor, Color nonSignificantColor, double significanceLevel)
      Creates a new JSparklinesBarChartTableCellRenderer. Use this constructor when positive and negative values are to be plotted. Note that to use the significance color coding the object in the table cell has to be of type XYDataPoint.
      Parameters:
      plotOrientation - the orientation of the plot
      minValue - the minimum value to be plotted, used to make sure that all plots in the same column has the same minimum value and are thus comparable
      maxValue - the maximum value to be plotted, used to make sure that all plots in the same column has the same maximum value and are thus comparable
      negativeValuesColor - the color to use for the negative values if two sided data is shown
      positiveValuesColor - the color to use for the positive values if two sided data is shown, and the color used for one sided data
      nonSignificantColor - the color to use for the non-significant values
      significanceLevel - the upper level for when to use the significant values color
      Throws:
      IllegalArgumentException - if minValue > maxValue
  • Method Details

    • showAsHeatMap

      public void showAsHeatMap​(GradientColorCoding.ColorGradient colorGradient, boolean positiveColorGradient)
      Displays the values as a heat map using the selected color gradient. To disable the heat map use null as the parameter.

      NB: the programmer has to make sure that the max and min values are the same for all columns used in a heat map to ensure that the color coding is comparable across the columns. This method can not handle this.

      The first color of the gradient is used for values close to the min value, while the third color of the gradient is used for values close to the max value. If only positive values are expected (positiveColorGradient is true) the middle gradient color is used for the halfway point between the min and max values. If both positive and negative values are expected (positiveColorGradient is false) the middle gradient color is used for values around zero.

      Note that the max value is set to the maximum absolute value of the max and min values in order to make the color gradient equal on both sides.
      Parameters:
      colorGradient - the color gradient to use, null disables the color gradient
      positiveColorGradient - if true only positive values are expected and the middle gradient color is used for the halfway point between the min and max values, if false the middle gradient color is used for values around zero
    • setGradientColoring

      public void setGradientColoring​(GradientColorCoding.ColorGradient colorGradient, boolean positiveColorGradient)
      Set the color gradient to use for the bars. To disable the color gradient use null as the parameter.

      The first color of the gradient is used for values close to the min value, while the third color of the gradient is used for values close to the max value. If only positive values are expected (positiveColorGradient is true) the middle gradient color is used for the halfway point between the min and max values. If both positive and negative values are expected (positiveColorGradient is false) the middle gradient color is used for values around zero.

      Note that the max value is set to the maximum absolute value of the max and min values in order to make the color gradient equal on both sides.
      Parameters:
      colorGradient - the color gradient to use, null disables the color gradient
      positiveColorGradient - if true only positive values are expected and the middle gradient color is used for the halfway point between the min and max values, if false the middle gradient color is used for values around zero
    • setGradientColoring

      public void setGradientColoring​(GradientColorCoding.ColorGradient colorGradient, boolean positiveColorGradient, Color plotBackgroundColor)
      Set the color gradient to use for the bars. To disable the color gradient use null as the parameter.

      The first color of the gradient is used for values close to the min value, while the third color of the gradient is used for values close to the max value. If only positive values are expected (positiveColorGradient is true) the middle gradient color is used for the halfway point between the min and max values. If both positive and negative values are expected (positiveColorGradient is false) the middle gradient color is used for values around zero.

      Note that the max value is set to the maximum absolute value of the max and min values in order to make the color gradient equal on both sides.
      Parameters:
      colorGradient - the color gradient to use, null disables the color gradient
      positiveColorGradient - if true only positive values are expected and the middle gradient color is used for the halfway point between the min and max values, if false the middle gradient color is used for values around zero
      plotBackgroundColor - the background color to use, for gradients using white as the "middle" color, it's recommended to use a dark background color
    • setBackgroundColor

      public void setBackgroundColor​(Color plotBackgroundColor)
      Set the plot background color.
      Parameters:
      plotBackgroundColor - the plot background color
    • showNumberAndChart

      public void showNumberAndChart​(boolean showNumberAndChart, int widthOfLabel)
      If true the number will be shown together with the bar chart in the cell. False only display the bar chart. This method is not to be confused with the showNumbers-method that only displays the numbers.
      Parameters:
      showNumberAndChart - if true the number and the chart is shown in the cell
      widthOfLabel - the width used to display the label containing the number
    • showNumberAndChart

      public void showNumberAndChart​(boolean showNumberAndChart, int widthOfLabel, DecimalFormat numberFormat)
      If true the number will be shown together with the bar chart in the cell. False only display the bar chart. This method is not to be confused with the showNumbers-method that only displays the numbers.
      Parameters:
      showNumberAndChart - if true the number and the chart is shown in the cell
      widthOfLabel - the width used to display the label containing the number
      numberFormat - the decimal format to use when showing the numbers
    • showNumberAndChart

      public void showNumberAndChart​(boolean showNumberAndChart, int widthOfLabel, Font font, int horizontalAlignement)
      If true the number will be shown together with the bar chart in the cell. False only display the bar chart. This method is not to be confused with the showNumbers-method that only displays the numbers.
      Parameters:
      showNumberAndChart - if true the number and the chart is shown in the cell
      widthOfLabel - the width used to display the label containing the number
      font - the font to use for the label
      horizontalAlignement - the horizontal alignment of the text in the label: one of the following constants defined in SwingConstants: LEFT, CENTER, RIGHT, LEADING or TRAILING.
    • showNumberAndChart

      public void showNumberAndChart​(boolean showNumberAndChart, int widthOfLabel, Font font, int horizontalAlignement, DecimalFormat numberFormat)
      If true the number will be shown together with the bar chart in the cell. False only display the bar chart. This method is not to be confused with the showNumbers-method that only displays the numbers.
      Parameters:
      showNumberAndChart - if true the number and the chart is shown in the cell
      widthOfLabel - the width used to display the label containing the number
      font - the font to use for the label
      horizontalAlignement - the horizontal alignment of the text in the label: one of the following constants defined in SwingConstants: LEFT, CENTER, RIGHT, LEADING or TRAILING.
      numberFormat - the decimal format to use when showing the numbers
    • setMaxValue

      public void setMaxValue​(double maxValue)
      Set the maximum value.
      Parameters:
      maxValue - the maximum value
    • setMinValue

      public void setMinValue​(double minValue)
      Set the minimum value.
      Parameters:
      minValue - the minimum value
    • showNumbers

      public void showNumbers​(boolean showNumbers)
      Set if the underlying numbers or the bar charts are to be shown.
      Parameters:
      showNumbers - if true the underlying numbers are shown
    • getTableCellRendererComponent

      public Component getTableCellRendererComponent​(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
      Specified by:
      getTableCellRendererComponent in interface TableCellRenderer
    • setNegativeValuesColor

      public void setNegativeValuesColor​(Color negativeValuesColor)
      Set the color used for the negative values.
      Parameters:
      negativeValuesColor - the color used for the negative values
    • setPositiveValuesColor

      public void setPositiveValuesColor​(Color positiveValuesColor)
      Set the color used for the positive values.
      Parameters:
      positiveValuesColor - the color used for the positive values
    • getMinimumChartValue

      public double getMinimumChartValue()
      Returns the minimum chart value to plot.
      Returns:
      the minimumChartValue
    • setMinimumChartValue

      public void setMinimumChartValue​(double minimumChartValue)
      Set the minimum chart value to plot.
      Parameters:
      minimumChartValue - the minimumChartValue to set
    • getTooltipLowerValue

      public double getTooltipLowerValue()
      Returns the lower value before using 8 decimals for the tooltip.
      Returns:
      the tooltipLowerValue
    • setTooltipLowerValue

      public void setTooltipLowerValue​(double tooltipLowerValue)
      Set the lower limit for the values before using 8 decimals for the tooltip.
      Parameters:
      tooltipLowerValue - the tooltipLowerValue to set
    • getNonSignificantColor

      public Color getNonSignificantColor()
      Return the color to use for the non-significant values.
      Returns:
      the color to use for the non-significant values
    • setNonSignificantColor

      public void setNonSignificantColor​(Color nonSignificantColor)
      Set the color to use for the non-significant values.
      Parameters:
      nonSignificantColor - the color to set
    • getSignificanceLevel

      public double getSignificanceLevel()
      Returns the lower significance level. Values above this level will be colored with the positive/negative values colors, while values below the threshold will be colored with the non-significant color.
      Returns:
      the lower significance level
    • setSignificanceLevel

      public void setSignificanceLevel​(double significanceLevel)
      Set the lower significance level. Values above this level will be colored with the positive/negative values colors, while values below the threshold will be colored with the non-significant color.
      Parameters:
      significanceLevel - the lower significance level to set
    • getHeatMapBorderColor

      public Color getHeatMapBorderColor()
      Returns the heat map cell border color.
      Returns:
      the heat map cell border color
    • setHeatMapBorderColor

      public void setHeatMapBorderColor​(Color heatMapBorderColor)
      Set the the heat map cell border color.
      Parameters:
      heatMapBorderColor - the the heat map cell border color
    • isLogScale

      public boolean isLogScale()
      Returns true of log scale is used for the visualizations.
      Returns:
      true of log scale is used for the visualizations
    • setLogScale

      public void setLogScale​(boolean logScale)
      Set if log scale is to be used for the visualizations.
      Parameters:
      logScale - if log scale is to be used for the visualizations
    • getMaxValue

      public double getMaxValue()
      Returns the maximum value.
      Returns:
      the maxValue
    • getMinValue

      public double getMinValue()
      Returns the minimum value.
      Returns:
      the minValue