Class WScatterData

java.lang.Object

public class WScatterData
extends WAbstractDataSeries3D
Class representing a collection of points for on a 3D chart.

General information can be found at WAbstractDataSeries3D. The model should be structured as a table where every row represents a point. In the simplest case, there are three columns representing the x-, y- and z-values. By default, this is column 0 for X, column 1 for Y and column 2 for Z. It is also possible to provide an additional column containing information on the color for each point. The same is possible for the size. Color-information in the model should be present as a WColor.

If these extra columns are not included, the MarkerBrushColorRole and MarkerScaleFactorRole can still be used to style individual points. These dataroles should be set on the values in the column containing the z-values.

The figure below shows an upward spiral of points, with droplines enabled and a pointsize of 5 pixels.

An example of WScatterData

  • Constructor Details

  • Method Details

    • setDroplinesEnabled

      public void setDroplinesEnabled​(boolean enabled)
      Enables or disables droplines for all points.

      Enabling droplines will cause a line to be drawn from every point to the the ground-plane of the chart's plotcube. By default the droplines are disabled.

      See Also:
      setDroplinesPen(WPen pen)
    • setDroplinesEnabled

      public final void setDroplinesEnabled()
      Enables or disables droplines for all points.

      Calls setDroplinesEnabled(true)

    • isDroplinesEnabled

      public boolean isDroplinesEnabled()
      Returns whether droplines are enabled.

      See Also:
      setDroplinesEnabled(boolean enabled), setDroplinesPen(WPen pen)
    • setDroplinesPen

      public void setDroplinesPen​(WPen pen)
      Sets the pen that is used to draw droplines.

      The default pen is a default constructed WPen.

      Note: only the width and color of the pen are used.

      See Also:
      setDroplinesEnabled(boolean enabled)
    • getDroplinesPen

      public WPen getDroplinesPen()
      Returns the pen that is used to draw droplines.

      See Also:
      setDroplinesEnabled(boolean enabled), setDroplinesPen(WPen pen)
    • setXSeriesColumn

      public void setXSeriesColumn​(int columnNumber)
      Sets the column-index from the model that is used for the x-coordinate of all points.

      The default X column index is 0.

    • XSeriesColumn

      public int XSeriesColumn()
      Returns the column-index from the model that is used for the x-coordinate of all points.

      See Also:
      setXSeriesColumn(int columnNumber)
    • setYSeriesColumn

      public void setYSeriesColumn​(int columnNumber)
      Sets the column-index from the model that is used for the y-coordinate of all points.

      The default X column index is 1.

    • YSeriesColumn

      public int YSeriesColumn()
      Returns the column-index from the model that is used for the y-coordinate of all points.

      See Also:
      setYSeriesColumn(int columnNumber)
    • setZSeriesColumn

      public void setZSeriesColumn​(int columnNumber)
      Sets the column-index from the model that is used for the z-coordinate of all points.

      The default Z column index is 2.

      Note that this column is also used to check for a MarkerBrushColorRole and a MarkerScaleFactorRole is no color-column or size-column are set.

    • ZSeriesColumn

      public int ZSeriesColumn()
      Returns the column-index from the model that is used for the z-coordinate of all points.

      See Also:
      setZSeriesColumn(int columnNumber)
    • setColorColumn

      public void setColorColumn​(int columnNumber, int role)
    • setColorColumn

      public final void setColorColumn​(int columnNumber)
    • setSizeColumn

      public void setSizeColumn​(int columnNumber, int role)
    • setSizeColumn

      public final void setSizeColumn​(int columnNumber)
    • pickPoints

      public java.util.List<WPointSelection> pickPoints​(int x, int y, int radius)
      Pick points on this WScatterData using a single pixel.

      x,y are the screen coordinates of the pixel from the top left of the chart, and radius is the radius in pixels around that pixel. All points around the ray projected through the pixel within the given radius will be returned.

    • pickPoints

      public java.util.List<WPointSelection> pickPoints​(int x1, int y1, int x2, int y2)
      Pick points on this WScatterData inside of a rectangle.

      The screen coordinates (x1, y1) and (x2, y2) from the top left of the chart define a rectangle within which the points should be selected.

    • minimum

      public double minimum​(Axis axis)
      Description copied from class: WAbstractDataSeries3D
      Returns the computed minimum value of this dataseries along the given axis.

      Specified by:
      minimum in class WAbstractDataSeries3D
      See Also:
      WAbstractDataSeries3D.maximum(Axis axis)
    • maximum

      public double maximum​(Axis axis)
      Description copied from class: WAbstractDataSeries3D
      Returns the computed maximum value of this dataseries along the given axis.

      Specified by:
      maximum in class WAbstractDataSeries3D
      See Also:
      WAbstractDataSeries3D.minimum(Axis axis)
    • getGlObjects

      public java.util.List<java.lang.Object> getGlObjects()
      Overrides:
      getGlObjects in class WAbstractDataSeries3D
    • initializeGL

      public void initializeGL()
      Description copied from class: WAbstractDataSeries3D
      Initialize GL resources.

      This function is called by initializeGL() in the chart to which this dataseries was added.

      Specified by:
      initializeGL in class WAbstractDataSeries3D
    • paintGL

      public void paintGL()
      Description copied from class: WAbstractDataSeries3D
      Update the client-side painting function.

      This function is called by paintGL() in the chart to which this dataseries was added.

      Specified by:
      paintGL in class WAbstractDataSeries3D
    • updateGL

      public void updateGL()
      Description copied from class: WAbstractDataSeries3D
      Update GL resources.

      This function is called by updateGL() in the chart to which this dataseries was added. Before this function is called, deleteAllGLResources() is called.

      Specified by:
      updateGL in class WAbstractDataSeries3D
      See Also:
      WAbstractDataSeries3D.deleteAllGLResources()
    • resizeGL

      public void resizeGL()
      Description copied from class: WAbstractDataSeries3D
      Act on resize events.

      This function is called by resizeGL() in the chart to which this dataseries was added.

      Specified by:
      resizeGL in class WAbstractDataSeries3D
    • deleteAllGLResources

      public void deleteAllGLResources()
      Description copied from class: WAbstractDataSeries3D
      Delete GL resources.

      This function is called by updateGL() in the chart to which this dataseries was added.

      Specified by:
      deleteAllGLResources in class WAbstractDataSeries3D