Sepasoft MES Module Suite
A box and whisker plot (sometimes called a boxplot) is a chart that presents information from a five-number summary. This type of chart is used to show the shape of the distribution, its central value, and its variability.
When you need a quick way to see a graphical display of data that shows the median and upper and lower quartiles, along with extreme points and any outliers from my sample measurements. The Box and Whisker chart shows the process location and variation over time.
Table Chart Scroll Locking
|
This feature is available in versions: MES 3.81.11 SP7 and later MES 4.83.0 RC2 and later |
State | Detailed Description |
Locked | UI: The lock icon in the taskbar appears closed and filled. Behavior: The chart view is locked to the right, automatically jumping to the end of the table whenever new data is received. Tooltip: Hovering over the icon displays the text: "Allow Free Scrolling". |
Free Scrolling | UI: The lock icon in the taskbar appears open and unfilled. Behavior: The chart maintains its current scroll position, even when new data is received. Tooltip: Hovering over the icon displays the text: "Lock Scrolling". |

Included in Sepasoft Versions:
|
MES 3.81.7 RC1 and later |

Ignition Designer
Perspective Component Palette
|
For an example of Sample Definition Settings, see Settings for Box and Whisker Chart Type. |
Component Properties
Properties are provided that can be set to affect the operation and look of the component. They can be set through the Property Editor in the Designer or through scripting.
Python |
self.getSibling("Box and Whisker").showLegend = True |
SPC Perspective Chart Dataset Properties
These properties are available in the Ignition Properties Palette for SPC Charts.

| Property Source | |
Sets the datasource mode. Toggle two options: Use_stored_settings | Use_binding Included in Sepasoft Versions:
Use_stored_settings: Sets the chart to receive data from Stored Settings. To use this, enter property values under storedSettings, see below.
Use_binding: Sets the chart to receive data from an SPC Controller. To use this, bind to an SPC Controller under spcChartSettings, see below. When clicking the binding icon on the left side of the propertySource, the Configure Property Binding dialog appears.
|
||||||||||||||||||||||||||||||||||||||||
| Stored Settings | storedSettings |
Set property values here when propertySource is set to Use_stored_settings |
||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||
| SPC Chart Settings |
spcChartSettings
Set property values here when propertySource is set to Use_Binding
Bind to the SPC Controller |
|||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||
|
|
settings
|
|||||||||||||||||||||||||||||||||||||||||
|
|
histogram
|
|||||||||||||||||||||||||||||||||||||||||
|
|
dynamic When using an SPC Controller to populate a Perspective SPC Chart, these dynamic filters can be used to filter the data for display in a chart.
|
|||||||||||||||||||||||||||||||||||||||||
|
|
spcResults SPC Results including data, measurement count, messages and calculated value information. definitionUUI
measurementCount
spcData: dataset - The SPC data.
|
|
||||||||||||||||||||||||||||||||||||||||
| showTable | Boolean | Enable to display the data table. The table is updated as new data comes in. Table Chart Scroll LockingThe table chart scroll locking feature provides a user-controlled mechanism to either automatically navigate to the most recent data upon its arrival or maintain the current scroll position. The scroll lock feature operates in two distinct modes, each with specific UI indicators and behavioral responses to new data.
| ||||||||||||||||||||||||||||||||||||||||
Component Properties Specific to Box and Whiskers Chart
| Name | Scripting Reference | Description | |||
|---|---|---|---|---|---|
| enableControlLimitEditing | Boolean | Toggle show/hide When enabled, an edit button is displayed. Once a control-limit type is selected and Calculate is checked, a limit value is calculated and displayed. If the value box is populated and date is selected, you can choose to set the limit value. A message displays:
| |||
| vertical | Boolean | Sets the orientation of the chart. | |||
| showLegend | Boolean | Show or hide the chart's legend. | |||
| showMean | Boolean | Show or hide the mean data point. | |||
| showOutside | Boolean | Show or hide the outside data points. | |||
| showFarOut | Boolean | Show or hide the far out data points. | |||
| valueAxisTitle | String | Title to show for the value axis. | |||
| categoryAxisTitle | String | Title to show for the category axis. | |||
| axisStyle | |||||
| axisTitleColor | Color picker | Color for both axis titles. | |||
| axisTitleFont | String | Font family for both axis titles | |||
| chartStyle | Chart styles apply to the plot area of the chart not including the data on the plot area | ||||
| chartBackground | String | Color of the background of the chart. | |||
| horzGridLineColor | Color, picker available | Color of the horizontal grid line. | |||
| showHorizontalGridLines | Boolean | If true, show horizontal grid lines on charts. | |||
| vertGridLineColor | Color, picker available | The color of vertical grid lines. | |||
| showVeriticalGridLines | Boolean | If true, show vertical grid lines on charts. | |||
| chartDataStyle | |||||
| boxMaxWidthPercentage | Float | The box maximum width percentage | |||
| dataPointCircleDiameterSize | Int | The circle diameter size of mean, outside and far out data point. | |||
| filledBox | Boolean | If true, draws a filled box. | |||
| meanAndMedianColor | Color, picker available | The color of the mean and the median for the chart. | |||
| seriesColors | String, List | The colors to paint each box in a series. | |||
| tickStyle | |||||
| tickLabelColor | Color, picker available | The color of the tick labels. | |||
| tickLabelFont | String | The font of the tick labels. | |||
| noDataStyle | | ||||
| noDataForeground | Color, picker available | | |||
| noDataFont | String | | |||
Meta Properties in the Perspective Property Editor
Name Scripting Reference | Data Type | Description | ||
|---|---|---|---|---|
| name | String | Name of the component. Used in scripting and component tree paths by name, such as during Property Binding. | ||
| visible | Boolean | Whether or not this component should display. | ||
| tooltip | ||||
enable | Boolean | Whether the tooltip on hover | ||
width | Integer | The height of the table rows. | ||
text | String | The scroll bar x position. | ||
| style | Boolean | Toggle to show or hide the sample data table. | ||
| delay | Boolean | Image icon to show to edit control limits. | ||
| sustain | Integer | Time, in milliseconds, to display tooltip before removing it. A value of 0 results in the tooltip displaying until the mouse exits the components. | ||
| location | Boolean | The location where the tooltip displays. | ||
| tail | Boolean | Enables a decorative triangle on the tooltip that points to the tooltip owner. Ignored when location uses a value of 'mouse'. | ||
Event Handlers
Event handlers provide the ability to add custom script when a user interacts with a component such as by clicking a mouse, selecting a menu item or when a component property changes.
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the combination of a mouse press and a mouse release, both of which must have occurred over the source component. Note that this event fires after the pressed and released events have fired.
| Property | Description |
|---|---|
| .source | The component that fired this event. |
| .button | The code for the button that caused this event to fire. |
| .clickCount | The number of mouse clicks associated with this event. |
| .x | The x-coordinate (with respect to the source component) of this mouse event. |
| .y | The y-coordinate (with respect to the source component) of this mouse event. |
| .popupTrigger | Returns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating system dependent, which is why this abstraction exists. |
| .altDown | True (1) if the Alt key was held down during this event, false (0) otherwise. |
| .controlDown | True (1) if the Ctrl key was held down during this event, false (0) otherwise. |
| .shiftDown | True (1) if the Shift key was held down during this event, false (0) otherwise. |
mouseEntered
This event fires when the mouse enters the space over the source component.
| Property | Description |
|---|---|
| .source | The component that fired this event. |
| .button | The code for the button that caused this event to fire. |
| .clickCount | The number of mouse clicks associated with this event. |
| .x | The x-coordinate (with respect to the source component) of this mouse event. |
| .y | The y-coordinate (with respect to the source component) of this mouse event. |
| .popupTrigger | Returns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating system dependent, which is why this abstraction exists. |
| .altDown | True (1) if the Alt key was held down during this event, false (0) otherwise. |
| .controlDown | True (1) if the Ctrl key was held down during this event, false (0) otherwise. |
| .shiftDown | True (1) if the Shift key was held down during this event, false (0) otherwise. |
mouseExited
This event fires when the mouse leaves the space over the source component.
| Property | Description |
|---|---|
| .source | The component that fired this event. |
| .button | The code for the button that caused this event to fire. |
| .clickCount | The number of mouse clicks associated with this event. |
| .x | The x-coordinate (with respect to the source component) of this mouse event. |
| .y | The y-coordinate (with respect to the source component) of this mouse event. |
| .popupTrigger | Returns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating system dependent, which is why this abstraction exists. |
| .altDown | True (1) if the Alt key was held down during this event, false (0) otherwise. |
| .controlDown | True (1) if the Ctrl key was held down during this event, false (0) otherwise. |
| .shiftDown | True (1) if the Shift key was held down during this event, false (0) otherwise. |
mousePressed
This event fires when a mouse button is pressed down on the source component.
| Property | Description |
|---|---|
| .source | The component that fired this event. |
| .button | The code for the button that caused this event to fire. |
| .clickCount | The number of mouse clicks associated with this event. |
| .x | The x-coordinate (with respect to the source component) of this mouse event. |
| .y | The y-coordinate (with respect to the source component) of this mouse event. |
| .popupTrigger | Returns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating system dependent, which is why this abstraction exists. |
| .altDown | True (1) if the Alt key was held down during this event, false (0) otherwise. |
| .controlDown | True (1) if the Ctrl key was held down during this event, false (0) otherwise. |
| .shiftDown | True (1) if the Shift key was held down during this event, false (0) otherwise. |
mouseReleased
This event fires when a mouse button is released, if that mouse button's press happened over this component.
| Property | Description |
|---|---|
| .source | The component that fired this event. |
| .button | The code for the button that caused this event to fire. |
| .clickCount | The number of mouse clicks associated with this event. |
| .x | The x-coordinate (with respect to the source component) of this mouse event. |
| .y | The y-coordinate (with respect to the source component) of this mouse event. |
| .popupTrigger | Returns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating system dependent, which is why this abstraction exists. |
| .altDown | True (1) if the Alt key was held down during this event, false (0) otherwise. |
| .controlDown | True (1) if the Ctrl key was held down during this event, false (0) otherwise. |
| .shiftDown | True (1) if the Shift key was held down during this event, false (0) otherwise. |
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
| Property | Description |
|---|---|
| .source | The component that fired this event. |
| .button | The code for the button that caused this event to fire. |
| .clickCount | The number of mouse clicks associated with this event. |
| .x | The x-coordinate (with respect to the source component) of this mouse event. |
| .y | The y-coordinate (with respect to the source component) of this mouse event. |
| .popupTrigger | Returns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating system dependent, which is why this abstraction exists. |
| .altDown | True (1) if the Alt key was held down during this event, false (0) otherwise. |
| .controlDown | True (1) if the Ctrl key was held down during this event, false (0) otherwise. |
| .shiftDown | True (1) if the Shift key was held down during this event, false (0) otherwise. |
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
| Property | Description |
|---|---|
| .source | The component that fired this event. |
| .button | The code for the button that caused this event to fire. |
| .clickCount | The number of mouse clicks associated with this event. |
| .x | The x-coordinate (with respect to the source component) of this mouse event. |
| .y | The y-coordinate (with respect to the source component) of this mouse event. |
| .popupTrigger | Returns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating system dependent, which is why this abstraction exists. |
| .altDown | True (1) if the Alt key was held down during this event, false (0) otherwise. |
| .controlDown | True (1) if the Ctrl key was held down during this event, false (0) otherwise. |
| .shiftDown | True (1) if the Shift key was held down during this event, false (0) otherwise. |
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for standard and custom (dynamic) properties.
| Property | Description |
|---|---|
| .source | The component that fired this event. |
| .newValue | The new value that this property changed to. |
| .oldValue | The value that this property was before it changed. Note that not all components include an accurate oldValue in their events. |
| .propertyName | The name of the property that changed. NOTE: Remember to always filter out these events for the property that you are looking for! Components often have many properties that change. |
Component Functions
Example of the component on the page root container:
event.source.parent.getComponent('Box and Whisker Chart').showSetLimitPanel (True).
showSetLimitPanel
- Description
Causes the calculate and set control limit dialog to be shown.
- Parameters
Boolean - True/False
- Return
Nothing
- Scope
Client
Sepasoft MES Module Suite
