Class JSparklinesErrorBarChartTableCellRenderer

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

public class JSparklinesErrorBarChartTableCellRenderer
extends JPanel
implements TableCellRenderer
Table cell renderer displaying JSparklines bar charts with error bars. Supported input: DefaultStatisticalCategoryDataset and SignificantStatisticalCategoryDataset objects. Other object types are rendered using the DefaultTableCellRenderer.
Author:
Harald Barsnes
See Also:
Serialized Form
  • Constructor Details

    • JSparklinesErrorBarChartTableCellRenderer

      public JSparklinesErrorBarChartTableCellRenderer​(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
    • JSparklinesErrorBarChartTableCellRenderer

      public JSparklinesErrorBarChartTableCellRenderer​(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
    • JSparklinesErrorBarChartTableCellRenderer

      public JSparklinesErrorBarChartTableCellRenderer​(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
    • JSparklinesErrorBarChartTableCellRenderer

      public JSparklinesErrorBarChartTableCellRenderer​(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. 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
      Throws:
      IllegalArgumentException - if minValue > maxValue
  • Method Details

    • 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
    • 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
    • setErrorBarWidth

      public void setErrorBarWidth​(float errorBarWidth)
      Set the width of the error bars.
      Parameters:
      errorBarWidth - the width of the error bars
    • 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
    • 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
    • showSignificance

      public void showSignificance​(boolean indicateSignificance)
      Set if the significance is to be indicated or not. Note that significance can only be indicated if SignificantStatisticalCategoryDataset is used.
      Parameters:
      indicateSignificance - if the significance is to be indicated
    • 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