diff --git a/README.md b/README.md
index ad6cd0c0..cbfd3c91 100644
--- a/README.md
+++ b/README.md
@@ -1,17 +1,16 @@
+
-# Statistics Workbench
+StatisticsWorkbench
-dev:
-[![CI](https://github.com/hpi-swa-teaching/StatisticsWorkbench/actions/workflows/ci.yml/badge.svg?branch=dev)](https://github.com/hpi-swa-teaching/StatisticsWorkbench/actions/workflows/ci.yml)
-[![Build Status](https://api.travis-ci.org/hpi-swa-teaching/StatisticsWorkbench.svg?branch=dev)](https://travis-ci.org/hpi-swa-teaching/StatisticsWorkbench)
+[![Commit](https://img.shields.io/github/last-commit/hpi-swa-teaching/StatisticsWorkbench?style=flat)](https://github.com/hpi-swa-teaching/StatisticsWorkbenchStatisticsWorkbench/commits/)
[![Coverage Status](https://coveralls.io/repos/github/hpi-swa-teaching/StatisticsWorkbench/badge.svg?branch=dev)](https://coveralls.io/github/hpi-swa-teaching/StatisticsWorkbench?branch=dev)
-
-(SWT21-Project-16)
+[![CI](https://github.com/hpi-swa-teaching/StatisticsWorkbench/actions/workflows/ci.yml/badge.svg?branch=dev)](https://github.com/hpi-swa-teaching/StatisticsWorkbench/actions/workflows/ci.yml)
Statistics Workbench is a tool for the visualization and analyzation of data.
It offers multiple mathematical functions for finding the maximum, minimum, mean, mode, maximal deviation and more of a dataset, as well as multiple chart types, like barcharts and piecharts.
There are multiple ways of creating datasets from different inputs outlined below.
+
## Overview & Getting Started
Statistics workbench offers a large number of functionalities for displaying the different charts, however it is not complete yet and not all functionalities are supported by all chart types yet.
@@ -155,35 +154,40 @@ You can also interact with the diagram, for example by right-clicking on data po
- Normalized BarChart
- Normalized AreaChart
-Here is an example of how to create a stacked chart for multiple y-axes:
+Here are two examples of how to create stacked and normalized charts for multiple y-axes:
+```smalltalk
+(SWDiagram new
+ stacked: true;
+ visualizeAll: dataCollection with: SWBarChart) openInWindowLabeled: ''
+```
```smalltalk
-(SWDiagram new stacked: true;
+(SWDiagram new
+ stacked: true;
+ normalized: true;
visualizeAll: dataCollection with: SWBarChart) openInWindowLabeled: ''
```
Here "dataCollection" is of type OrderedCollection with elemets from SWDataLabeled or SWDataUnlabeled.
-## The Statistic Workbench UI
-Another way of accesing the StatisticsWorkBench tool is the brand new user interface. This can be opened by calling
+**Charts that suppot 3-dimensional data:**
+- BubblePlot
+
+Here is an examples of how to create a bubbleplot for 3-dimensional data:
```smalltalk
-SWMainformModel open.
+| data |
+data := SWDataUnlabeled fromXValues: {1 . 2 . 3 . 4 . 5} versusYValues: {5 . 200 . 38 . 69 . 16} versusZValues: {17 . 14 . 5 . 8 . 3}.
+(SWDiagram new visualize: data with: SWBubblePlot) openInWindowLabeled: ''
```
-**Features:**
- - Import CSV
- - Export Charts as PNG
- - Edit X, Y axis and columns in the editor
- - Choose different themes for your charts
- - View all types of charts without writing commands
+It is also possible to visualize more than one data series within a BubblePlot by using the method ```SWDiagram new visualizeAll: dataCollection with: SWBubblePlot```.
-### Difference between Single and Multiple Y-Axes
-The statistics workbench is not just designed for charts with a single x and y-axis. You can add multiple y-axes using the editor or by importing them via CSV. All imported y-axis values will show up in the multiple text selector on the right side of the UI. You can also display multiple charts at the same time for the current x- and y-axes values by selecting different chart types.
-
-If you want to remove or edit y-axis values, simply select the desired rows and click the corresponding button to make the changes.
-
-#### Important Note:
-If you only have one y-axis value in your UI field, you can visualize all charts. However, if you have multiple y-axis values, you can't visualize the pieChart and will get an error message because this chart type is not designed to have more y-axes. All other charts will be stacked as you would expect with additional y-axes.
-lot: (scatterPlot charts first) plotOn: scatterPlot).
+## Linear Regression
+It is also possible to perform **Linear Regression** on a ScatterPlot.
+ ```smalltalk
+| data scatterPlot |
+data := SWDataUnlabeled fromXValues: {1 . 2 . 3 . 4 . 5} versusYValues: {22 . 110 . 64 . 211 . 35}.
+scatterPlot := SWDiagram new visualize: data with: SWScatterPlot.
+(SWLinearRegression newFromScatterPlot: (scatterPlot charts first) plotOn: scatterPlot).
scatterPlot openInWindowLabeled: ''
```
diff --git a/packages/StatisticsWorkbench-Core.package/SWDataLabeled.class/class/fromNamedColumns.xValues.yValues..st b/packages/StatisticsWorkbench-Core.package/SWDataLabeled.class/class/fromNamedColumns.xValues.yValues..st
index 28fde1de..0300cc5e 100644
--- a/packages/StatisticsWorkbench-Core.package/SWDataLabeled.class/class/fromNamedColumns.xValues.yValues..st
+++ b/packages/StatisticsWorkbench-Core.package/SWDataLabeled.class/class/fromNamedColumns.xValues.yValues..st
@@ -6,7 +6,7 @@ fromNamedColumns: aDictionary xValues: aString yValues: aString2
xValues := (aDictionary at: aString) collect: [:each | each asInteger].
yValues := (aDictionary at: aString2) collect: [:each | each asInteger].
- data := self fromXValues: xValues versusYValues: yValues withLabels: (aDictionary at: #Labels).
+ data := self fromXValues: xValues versusYValues: yValues withLabels: (aDictionary at: #Label).
data enrichWith: aDictionary.
diff --git a/packages/StatisticsWorkbench-Core.package/SWDataLabeled.class/methodProperties.json b/packages/StatisticsWorkbench-Core.package/SWDataLabeled.class/methodProperties.json
index 27a6ce7f..8e4767a1 100644
--- a/packages/StatisticsWorkbench-Core.package/SWDataLabeled.class/methodProperties.json
+++ b/packages/StatisticsWorkbench-Core.package/SWDataLabeled.class/methodProperties.json
@@ -2,7 +2,7 @@
"class" : {
"fromDataPointCollections:" : "jvm 8/5/2020 09:32",
"fromNamedColumns:" : "PAR 6/27/2021 16:10",
- "fromNamedColumns:xValues:yValues:" : "PAR 6/8/2021 10:38",
+ "fromNamedColumns:xValues:yValues:" : "JB 6/21/2024 14:41",
"fromXValues:versusYValues:withLabels:" : "jvm 8/2/2020 13:46",
"fromYValues:withLabels:" : "sjs 6/25/2020 16:45",
"processStringData:ofDataDimension:" : "ds 6/19/2020 18:32" },
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWAreaChart.class/instance/createLineMorph.st b/packages/StatisticsWorkbench-Diagrams.package/SWAreaChart.class/instance/createLineMorph.st
index e4ae0456..f67e63a4 100644
--- a/packages/StatisticsWorkbench-Diagrams.package/SWAreaChart.class/instance/createLineMorph.st
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWAreaChart.class/instance/createLineMorph.st
@@ -1,8 +1,8 @@
as yet unclassified
createLineMorph
-
+
^ PolygonMorph new
borderWidth: self class defaultBorderWidth;
borderColor: self class defaultBorderColor;
color: self class defaultBorderColor;
- yourself.
+ yourself
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWAreaChart.class/instance/initialize.st b/packages/StatisticsWorkbench-Diagrams.package/SWAreaChart.class/instance/initialize.st
index 30388677..a8539703 100644
--- a/packages/StatisticsWorkbench-Diagrams.package/SWAreaChart.class/instance/initialize.st
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWAreaChart.class/instance/initialize.st
@@ -1,8 +1,9 @@
as yet unclassified
initialize
- counter := 0.
+
super initialize.
- self
+ self
+ lineMorph: self createLineMorph;
lineColor: self class defaultColor;
dataPoints: OrderedCollection new;
dataSuffix: ''
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWAreaChart.class/methodProperties.json b/packages/StatisticsWorkbench-Diagrams.package/SWAreaChart.class/methodProperties.json
index bc97ec3f..be41255c 100644
--- a/packages/StatisticsWorkbench-Diagrams.package/SWAreaChart.class/methodProperties.json
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWAreaChart.class/methodProperties.json
@@ -2,8 +2,8 @@
"class" : {
"create" : "Nils Urban 5/28/2024 10:10" },
"instance" : {
- "addDatapointsToLine" : " Nils Urban 7/8/2024 11:08",
- "createLineMorph" : " Nils Urban 7/8/2024 14:51",
+ "addDatapointsToLine" : " Nils Urban 7/8/2024 22:26",
+ "createLineMorph" : "JB 6/18/2024 22:50",
"createVertices" : "Nils Urban 5/28/2024 10:47",
- "initialize" : " Nils Urban 7/8/2024 14:51",
- "update" : " Nils Urban 7/8/2024 15:02" } }
+ "initialize" : " Nils Urban 7/8/2024 22:26",
+ "update" : " Nils Urban 7/8/2024 22:26" } }
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWAreaChart.class/properties.json b/packages/StatisticsWorkbench-Diagrams.package/SWAreaChart.class/properties.json
index f3b0f0de..e31fc04a 100644
--- a/packages/StatisticsWorkbench-Diagrams.package/SWAreaChart.class/properties.json
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWAreaChart.class/properties.json
@@ -6,7 +6,7 @@
],
"commentStamp" : "",
"instvars" : [
- "counter" ],
+ ],
"name" : "SWAreaChart",
"pools" : [
],
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWAxisRange.class/class/limitedPrecisionSpecies.st b/packages/StatisticsWorkbench-Diagrams.package/SWAxisRange.class/class/limitedPrecisionSpecies.st
new file mode 100644
index 00000000..a18522c7
--- /dev/null
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWAxisRange.class/class/limitedPrecisionSpecies.st
@@ -0,0 +1,4 @@
+as yet unclassified
+limitedPrecisionSpecies
+
+ ^ SWAxisRange
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWAxisRange.class/methodProperties.json b/packages/StatisticsWorkbench-Diagrams.package/SWAxisRange.class/methodProperties.json
index 68977e6e..182ef1e0 100644
--- a/packages/StatisticsWorkbench-Diagrams.package/SWAxisRange.class/methodProperties.json
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWAxisRange.class/methodProperties.json
@@ -1,6 +1,6 @@
{
"class" : {
- },
+ "limitedPrecisionSpecies" : "JB 6/23/2024 14:43" },
"instance" : {
"balanceExtent" : "jk 8/7/2020 22:13",
"includeZero" : "jk 8/7/2020 22:13" } }
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWAxisRange.class/properties.json b/packages/StatisticsWorkbench-Diagrams.package/SWAxisRange.class/properties.json
index d88382bd..9f6c5cba 100644
--- a/packages/StatisticsWorkbench-Diagrams.package/SWAxisRange.class/properties.json
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWAxisRange.class/properties.json
@@ -10,5 +10,5 @@
"name" : "SWAxisRange",
"pools" : [
],
- "super" : "Interval",
+ "super" : "LimitedPrecisionInterval",
"type" : "normal" }
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWBar.class/instance/caption..st b/packages/StatisticsWorkbench-Diagrams.package/SWBar.class/instance/caption..st
index a557c079..a9c64c17 100644
--- a/packages/StatisticsWorkbench-Diagrams.package/SWBar.class/instance/caption..st
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWBar.class/instance/caption..st
@@ -1,6 +1,6 @@
accessing
caption: aString
-
+
self barLabelMorph: TextMorph new.
self barLabelMorph center: self barLabelMorph center + self defaultLabelOffset.
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWBar.class/instance/captionString..st b/packages/StatisticsWorkbench-Diagrams.package/SWBar.class/instance/captionString..st
new file mode 100644
index 00000000..1638f384
--- /dev/null
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWBar.class/instance/captionString..st
@@ -0,0 +1,4 @@
+accessing
+captionString: aString
+
+ "DELETE THIS"
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWBar.class/instance/captionString.st b/packages/StatisticsWorkbench-Diagrams.package/SWBar.class/instance/captionString.st
new file mode 100644
index 00000000..8d6fb2e3
--- /dev/null
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWBar.class/instance/captionString.st
@@ -0,0 +1,4 @@
+accessing
+captionString
+
+ "DELETE THIS"
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWBar.class/instance/hasBottomCaption..st b/packages/StatisticsWorkbench-Diagrams.package/SWBar.class/instance/hasBottomCaption..st
new file mode 100644
index 00000000..259774b3
--- /dev/null
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWBar.class/instance/hasBottomCaption..st
@@ -0,0 +1,4 @@
+defaults
+hasBottomCaption: aBool
+
+ "DELETE THIS"
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWBar.class/instance/hasBottomCaption.st b/packages/StatisticsWorkbench-Diagrams.package/SWBar.class/instance/hasBottomCaption.st
new file mode 100644
index 00000000..02498be2
--- /dev/null
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWBar.class/instance/hasBottomCaption.st
@@ -0,0 +1,4 @@
+defaults
+hasBottomCaption
+
+ "DELETE THIS"
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWBar.class/instance/infoPopup..st b/packages/StatisticsWorkbench-Diagrams.package/SWBar.class/instance/infoPopup..st
index 0f6a1f4c..968b2cbf 100644
--- a/packages/StatisticsWorkbench-Diagrams.package/SWBar.class/instance/infoPopup..st
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWBar.class/instance/infoPopup..st
@@ -1,4 +1,3 @@
accessing
infoPopup: aTextMorph
-
infoPopup := aTextMorph
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWBar.class/instance/infoPopup.st b/packages/StatisticsWorkbench-Diagrams.package/SWBar.class/instance/infoPopup.st
index 7b00788a..3d741db6 100644
--- a/packages/StatisticsWorkbench-Diagrams.package/SWBar.class/instance/infoPopup.st
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWBar.class/instance/infoPopup.st
@@ -1,4 +1,3 @@
accessing
infoPopup
-
^ infoPopup
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWBar.class/instance/topCaption..st b/packages/StatisticsWorkbench-Diagrams.package/SWBar.class/instance/topCaption..st
new file mode 100644
index 00000000..59c75f3b
--- /dev/null
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWBar.class/instance/topCaption..st
@@ -0,0 +1,19 @@
+accessing
+topCaption: aString
+
+ self barLabelMorph: TextMorph new.
+ self barLabelMorph center: self barLabelMorph center + self defaultLabelOffset.
+
+ self rotationMorph: TransformationMorph new.
+ self rotationMorph addMorph: self barLabelMorph.
+ self addMorph: self rotationMorph.
+
+ self barLabelMorph contents: aString.
+ self barLabelMorph color: self captionColor.
+
+ self rotationMorph topLeft: self topLeft.
+
+ (self isLabelHorizontal and: self isLabelTooLong)
+ ifTrue: [self rotateLabel].
+ (self isLabelHorizontal and: self isTextHigherThanBar)
+ ifTrue: [self raiseBarLabel]
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWBar.class/methodProperties.json b/packages/StatisticsWorkbench-Diagrams.package/SWBar.class/methodProperties.json
index 3bb2689b..367bb23f 100644
--- a/packages/StatisticsWorkbench-Diagrams.package/SWBar.class/methodProperties.json
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWBar.class/methodProperties.json
@@ -7,33 +7,38 @@
"barLabelMorph:" : "ds 6/19/2020 19:12",
"bottom" : "ds 6/19/2020 19:12",
"bottom:" : "ds 6/19/2020 19:12",
- "bottomCaption:" : " Nils Urban 7/8/2024 11:14",
- "bottomCaptionHeight" : " Nils Urban 6/21/2024 16:59",
- "bottomLabelMorph" : " Nils Urban 6/21/2024 16:36",
- "bottomLabelMorph:" : " Nils Urban 6/21/2024 16:36",
- "caption:" : " Nils Urban 7/8/2024 11:18",
+ "bottomCaption:" : " Nils Urban 7/8/2024 22:30",
+ "bottomCaptionHeight" : "Nils Urban 6/21/2024 16:59",
+ "bottomLabelMorph" : "Nils Urban 6/21/2024 16:36",
+ "bottomLabelMorph:" : "Nils Urban 6/21/2024 16:36",
+ "caption:" : " Nils Urban 7/8/2024 22:31",
"captionColor" : "Nils Urban 6/13/2024 01:42",
"captionColor:" : "Nils Urban 6/13/2024 01:42",
+ "captionString" : " Nils Urban 7/8/2024 22:32",
+ "captionString:" : " Nils Urban 7/8/2024 22:32",
"defaultBarLabelOffset" : "ds 6/19/2020 19:13",
"defaultCharWidth" : "ds 6/19/2020 19:13",
"defaultLabelOffset" : "ds 6/19/2020 19:13",
"handlesMouseOver:" : "FM 5/30/2021 10:35",
- "infoPopup" : " Nils Urban 7/8/2024 11:18",
- "infoPopup:" : " Nils Urban 7/8/2024 11:18",
- "initialize" : " Nils Urban 6/23/2024 21:53",
- "isHidden" : " Nils Urban 7/8/2024 11:18",
+ "hasBottomCaption" : " Nils Urban 7/8/2024 22:32",
+ "hasBottomCaption:" : " Nils Urban 7/8/2024 22:33",
+ "infoPopup" : "FM 5/30/2021 10:40",
+ "infoPopup:" : "FM 5/30/2021 10:40",
+ "initialize" : " Nils Urban 7/8/2024 22:34",
+ "isHidden" : " Nils Urban 7/8/2024 22:34",
"isHidden:" : "Nils Urban 6/13/2024 01:18",
"isLabelHorizontal" : "ds 6/19/2020 19:13",
"isLabelHorizontal:" : "ds 6/19/2020 19:13",
"isLabelTooLong" : "ds 6/19/2020 19:38",
"isTextHigherThanBar" : "ds 6/19/2020 19:39",
"minimumLabelWidth" : "ds 6/19/2020 19:39",
- "mouseDown:" : " Nils Urban 7/8/2024 11:19",
- "mouseEnter:" : " Nils Urban 6/23/2024 22:35",
+ "mouseDown:" : " Nils Urban 7/8/2024 22:34",
+ "mouseEnter:" : " Nils Urban 7/8/2024 22:36",
"mouseLeave:" : "Nils Urban 6/14/2024 14:16",
"raiseBarLabel" : "ds 6/19/2020 19:39",
"rotateLabel" : "Nils Urban 6/14/2024 15:52",
"rotatedLabelOffset" : "ds 6/19/2020 19:39",
"rotatedLabelPosition" : "Nils Urban 6/14/2024 15:48",
"rotationMorph" : "ds 6/19/2020 19:39",
- "rotationMorph:" : "ds 6/19/2020 19:39" } }
+ "rotationMorph:" : "ds 6/19/2020 19:39",
+ "topCaption:" : "Nils Urban 6/23/2024 12:53" } }
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWBarChart.class/instance/hasBottomCaption..st b/packages/StatisticsWorkbench-Diagrams.package/SWBarChart.class/instance/hasBottomCaption..st
new file mode 100644
index 00000000..a4dc1f43
--- /dev/null
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWBarChart.class/instance/hasBottomCaption..st
@@ -0,0 +1,4 @@
+accessing
+hasBottomCaption: aBool
+
+ "DELETE THIS"
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWBarChart.class/instance/hasBottomCaption.st b/packages/StatisticsWorkbench-Diagrams.package/SWBarChart.class/instance/hasBottomCaption.st
new file mode 100644
index 00000000..eaced072
--- /dev/null
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWBarChart.class/instance/hasBottomCaption.st
@@ -0,0 +1,4 @@
+accessing
+hasBottomCaption
+
+ "DELETE THIS"
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWBarChart.class/instance/update.st b/packages/StatisticsWorkbench-Diagrams.package/SWBarChart.class/instance/update.st
index e52bc9a3..9f1c3a2f 100644
--- a/packages/StatisticsWorkbench-Diagrams.package/SWBarChart.class/instance/update.st
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWBarChart.class/instance/update.st
@@ -3,5 +3,6 @@ update
self applyTheme: self diagram colorTheme.
self diagram updateCoordinateSystem.
- self removeAll;
+ self
+ removeAll;
createBarsFrom: self data
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWBarChart.class/methodProperties.json b/packages/StatisticsWorkbench-Diagrams.package/SWBarChart.class/methodProperties.json
index 0ffd371d..7bbeeb35 100644
--- a/packages/StatisticsWorkbench-Diagrams.package/SWBarChart.class/methodProperties.json
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWBarChart.class/methodProperties.json
@@ -18,15 +18,17 @@
"barWidth:" : "ds 6/19/2020 18:54",
"bars" : "ds 6/19/2020 18:54",
"bars:" : "ds 6/19/2020 18:54",
- "createBarsFrom:" : " Nils Urban 7/8/2024 11:53",
+ "createBarsFrom:" : " Nils Urban 7/8/2024 22:36",
"dataColor" : "PAR 8/6/2021 13:30",
"dynamicBarWidth" : "JB 6/19/2024 22:33",
- "initialize" : "Nils Urban 6/14/2024 15:56",
+ "hasBottomCaption" : " Nils Urban 7/8/2024 22:37",
+ "hasBottomCaption:" : " Nils Urban 7/8/2024 22:37",
+ "initialize" : " Nils Urban 7/8/2024 22:37",
"maxBarWidth" : "jk 7/31/2020 12:18",
- "maxBottomCaptionHeight" : " Nils Urban 6/21/2024 17:03",
+ "maxBottomCaptionHeight" : "Nils Urban 6/21/2024 17:03",
"needsCoordinateSystem" : "ds 6/19/2020 18:55",
"remove:" : "CK 5/14/2021 15:06",
"removeAll" : "ds 6/19/2020 18:55",
"requiredCoordinateSystem" : "FM 7/9/2021 17:12",
"supportsShowMean" : "jk 8/4/2020 17:58",
- "update" : " Nils Urban 7/8/2024 11:00" } }
+ "update" : "IK 5/18/2021 20:22" } }
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWBubblePlot.class/instance/createDataPoint..st b/packages/StatisticsWorkbench-Diagrams.package/SWBubblePlot.class/instance/createDataPoint..st
index 5c7d9ba3..c5ae32c7 100644
--- a/packages/StatisticsWorkbench-Diagrams.package/SWBubblePlot.class/instance/createDataPoint..st
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWBubblePlot.class/instance/createDataPoint..st
@@ -5,6 +5,7 @@ createDataPoint: aSWVector
dataPoint := SWDataPoint create: aSWVector at: (self coordinateSystem positionFor: aSWVector asPoint) size: (self scaledBubbleSize: (aSWVector third)).
dataPoint color: (self pointColor alpha: 0.7).
+
(aSWVector third > (self threshold)) ifTrue: [dataPoint height: 0. dataPoint width: 0].
^ dataPoint
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWBubblePlot.class/instance/data..st b/packages/StatisticsWorkbench-Diagrams.package/SWBubblePlot.class/instance/data..st
index f4653840..047976d0 100644
--- a/packages/StatisticsWorkbench-Diagrams.package/SWBubblePlot.class/instance/data..st
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWBubblePlot.class/instance/data..st
@@ -7,4 +7,4 @@ data: dataSet
self threshold: (data maximum: #z).
self
update;
- changed: self
\ No newline at end of file
+ changed: self
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWBubblePlot.class/methodProperties.json b/packages/StatisticsWorkbench-Diagrams.package/SWBubblePlot.class/methodProperties.json
index 6f9abbcc..a9a76544 100644
--- a/packages/StatisticsWorkbench-Diagrams.package/SWBubblePlot.class/methodProperties.json
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWBubblePlot.class/methodProperties.json
@@ -2,14 +2,14 @@
"class" : {
"create" : "Nils Urban 6/13/2024 10:24" },
"instance" : {
- "createDataPoint:" : " Nils Urban 7/8/2024 10:57",
- "data:" : " Nils Urban 7/8/2024 11:09",
- "diagram:" : " Nils Urban 6/21/2024 15:20",
- "dynamicMaxBubbleSize" : " Nils Urban 6/21/2024 14:48",
- "initialize" : " Nils Urban 6/21/2024 15:11",
- "maxValuesPerData" : " Nils Urban 7/8/2024 10:58",
- "maxValuesPerData:" : " Nils Urban 6/21/2024 14:48",
- "receiveValue:" : " Nils Urban 7/8/2024 10:58",
- "scaledBubbleSize:" : " Nils Urban 6/21/2024 15:23",
- "threshold" : " Nils Urban 7/8/2024 10:58",
+ "createDataPoint:" : "JB 6/19/2024 21:45",
+ "data:" : " Nils Urban 7/8/2024 22:38",
+ "diagram:" : "Nils Urban 6/21/2024 15:20",
+ "dynamicMaxBubbleSize" : "Nils Urban 6/21/2024 14:48",
+ "initialize" : "Nils Urban 6/21/2024 15:11",
+ "maxValuesPerData" : " Nils Urban 7/8/2024 22:38",
+ "maxValuesPerData:" : "Nils Urban 6/21/2024 14:48",
+ "receiveValue:" : " Nils Urban 7/8/2024 22:38",
+ "scaledBubbleSize:" : "Nils Urban 6/21/2024 15:23",
+ "threshold" : " Nils Urban 7/8/2024 22:38",
"threshold:" : "Nils Urban 6/13/2024 11:20" } }
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWCartesianCoordinateSystem.class/methodProperties.json b/packages/StatisticsWorkbench-Diagrams.package/SWCartesianCoordinateSystem.class/methodProperties.json
index 9b6aeaa8..29297c36 100644
--- a/packages/StatisticsWorkbench-Diagrams.package/SWCartesianCoordinateSystem.class/methodProperties.json
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWCartesianCoordinateSystem.class/methodProperties.json
@@ -20,16 +20,16 @@
"percentageBased:" : "Nils Urban 6/7/2024 22:40",
"positionAxes" : "JB 6/9/2024 01:56",
"positionFor:" : "jk 8/5/2020 20:11",
- "rangeForDimension:" : "Nils Urban 6/7/2024 22:32",
+ "rangeForDimension:" : "Nils Urban 6/23/2024 11:30",
"startPoint" : "ds 6/19/2020 19:58",
"toggleCenteredAxes" : "jk 7/15/2020 15:53",
"toggleRaster" : "jk 7/15/2020 18:26",
"update" : "JB 6/9/2024 01:46",
- "updateLegends" : " Nils Urban 7/8/2024 11:20",
+ "updateLegends" : "jk 8/5/2020 20:13",
"updateMaxX:maxY:" : "jk 8/5/2020 20:10",
"updateMinX:minY:" : "JB 6/9/2024 00:27",
"updateRanges" : "JB 6/9/2024 01:42",
- "updateRasterSize" : " Nils Urban 7/8/2024 11:21",
+ "updateRasterSize" : " Nils Urban 7/8/2024 22:38",
"xAxis" : "ds 6/19/2020 19:58",
"xAxis:" : "ds 6/19/2020 19:59",
"yAxis" : "ds 6/19/2020 19:59",
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWChart.class/methodProperties.json b/packages/StatisticsWorkbench-Diagrams.package/SWChart.class/methodProperties.json
index 6d96d78b..61a9c0ca 100644
--- a/packages/StatisticsWorkbench-Diagrams.package/SWChart.class/methodProperties.json
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWChart.class/methodProperties.json
@@ -32,7 +32,7 @@
"remove:" : "ds 6/19/2020 18:52",
"removeAll" : "ds 6/19/2020 18:52",
"removeFrom:" : "jk 8/4/2020 18:12",
- "removeFromData:" : " Nils Urban 6/21/2024 15:45",
+ "removeFromData:" : "Nils Urban 6/21/2024 15:45",
"requiredCoordinateSystem" : "FM 7/9/2021 17:14",
"requiresXValues" : "JB 6/9/2024 20:33",
"supportsShowMean" : "jk 8/4/2020 17:58",
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWChartElement.class/instance/previousColor..st b/packages/StatisticsWorkbench-Diagrams.package/SWChartElement.class/instance/previousColor..st
deleted file mode 100644
index 23195cc8..00000000
--- a/packages/StatisticsWorkbench-Diagrams.package/SWChartElement.class/instance/previousColor..st
+++ /dev/null
@@ -1,4 +0,0 @@
-accessing
-previousColor: aColor
-
- previousColor := aColor
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWChartElement.class/instance/previousColor.st b/packages/StatisticsWorkbench-Diagrams.package/SWChartElement.class/instance/previousColor.st
deleted file mode 100644
index 6f432584..00000000
--- a/packages/StatisticsWorkbench-Diagrams.package/SWChartElement.class/instance/previousColor.st
+++ /dev/null
@@ -1,4 +0,0 @@
-accessing
-previousColor
-
- ^ previousColor
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWChartElement.class/instance/switchColor.st b/packages/StatisticsWorkbench-Diagrams.package/SWChartElement.class/instance/switchColor.st
deleted file mode 100644
index 335ec414..00000000
--- a/packages/StatisticsWorkbench-Diagrams.package/SWChartElement.class/instance/switchColor.st
+++ /dev/null
@@ -1,7 +0,0 @@
-accessing
-switchColor
-
- | colorBuffer |
- colorBuffer := self previousColor.
- self previousColor: self color.
- self color: colorBuffer
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWChartElement.class/methodProperties.json b/packages/StatisticsWorkbench-Diagrams.package/SWChartElement.class/methodProperties.json
index d8e865ae..71760bc8 100644
--- a/packages/StatisticsWorkbench-Diagrams.package/SWChartElement.class/methodProperties.json
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWChartElement.class/methodProperties.json
@@ -6,10 +6,7 @@
"datapointIndex:" : "Nils Urban 6/13/2024 00:33",
"doubleClick:" : "JB 6/19/2024 02:27",
"handlesMouseDown:" : "ds 6/19/2020 19:12",
- "mouseDown:" : " Nils Urban 6/23/2024 21:53",
- "previousColor" : " Nils Urban 6/23/2024 21:51",
- "previousColor:" : " Nils Urban 6/23/2024 21:51",
+ "mouseDown:" : " Nils Urban 7/8/2024 22:39",
"round:to:" : "JB 6/19/2024 02:28",
- "switchColor" : " Nils Urban 6/23/2024 21:51",
"vector" : "ds 6/19/2020 19:12",
"vector:" : "ds 6/19/2020 19:12" } }
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWDataPoint.class/instance/initialize.st b/packages/StatisticsWorkbench-Diagrams.package/SWDataPoint.class/instance/initialize.st
deleted file mode 100644
index 86e0164f..00000000
--- a/packages/StatisticsWorkbench-Diagrams.package/SWDataPoint.class/instance/initialize.st
+++ /dev/null
@@ -1,5 +0,0 @@
-event handling
-initialize
-
- super initialize.
- self previousColor: Color red
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWDataPoint.class/instance/positionPopupSafely..st b/packages/StatisticsWorkbench-Diagrams.package/SWDataPoint.class/instance/positionPopupSafely..st
deleted file mode 100644
index e33d004e..00000000
--- a/packages/StatisticsWorkbench-Diagrams.package/SWDataPoint.class/instance/positionPopupSafely..st
+++ /dev/null
@@ -1,15 +0,0 @@
-event handling
-positionPopupSafely: aPopup
-
- | clippingOnTop |
- clippingOnTop := false.
- aPopup bottomRight: self topCenter.
- (aPopup position y < (owner position y))
- ifTrue: [
- aPopup topLeft: self bottomCenter.
- clippingOnTop := true].
- (aPopup topLeft x < (owner position x + 60))
- ifTrue: [
- (clippingOnTop)
- ifTrue: [aPopup topLeft: self bottomCenter.]
- ifFalse: [aPopup bottomLeft: self topCenter]]
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWDataPoint.class/instance/safePopupPosition..st b/packages/StatisticsWorkbench-Diagrams.package/SWDataPoint.class/instance/safePopupPosition..st
deleted file mode 100644
index a2f1ee0c..00000000
--- a/packages/StatisticsWorkbench-Diagrams.package/SWDataPoint.class/instance/safePopupPosition..st
+++ /dev/null
@@ -1,13 +0,0 @@
-event handling
-safePopupPosition: aPopup
-
- | position |
-
- position := self topCenter.
- (self position y - owner position y < 100)
- ifTrue: [position := self bottomCenter + (0 @ 150)].
- (self position x - owner position x < 200)
- ifTrue: [position := position + (50@0)].
-
-
- ^ position
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWDataPoint.class/instance/safePopupPosition.st b/packages/StatisticsWorkbench-Diagrams.package/SWDataPoint.class/instance/safePopupPosition.st
deleted file mode 100644
index ff4dafb5..00000000
--- a/packages/StatisticsWorkbench-Diagrams.package/SWDataPoint.class/instance/safePopupPosition.st
+++ /dev/null
@@ -1,13 +0,0 @@
-event handling
-safePopupPosition
-
- | position |
-
- position := self topCenter.
- (self position y - owner position y < 100)
- ifTrue: [position := self bottomCenter + (0 @ 150)].
- (self position x - owner position x < 200)
- ifTrue: [position := position + (50@0)].
-
-
- ^ position
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWDataPoint.class/methodProperties.json b/packages/StatisticsWorkbench-Diagrams.package/SWDataPoint.class/methodProperties.json
index b5aa1598..2910f61a 100644
--- a/packages/StatisticsWorkbench-Diagrams.package/SWDataPoint.class/methodProperties.json
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWDataPoint.class/methodProperties.json
@@ -10,13 +10,9 @@
"handlesMouseOver:" : "FM 5/30/2021 10:58",
"infoPopup" : "FM 5/30/2021 10:58",
"infoPopup:" : "FM 5/30/2021 10:12",
- "initialize" : " Nils Urban 6/23/2024 21:55",
- "mouseEnter:" : " Nils Urban 6/23/2024 22:13",
- "mouseLeave:" : " Nils Urban 6/21/2024 15:16",
- "positionPopupSafely:" : " Nils Urban 6/23/2024 22:24",
+ "mouseEnter:" : " Nils Urban 7/8/2024 22:42",
+ "mouseLeave:" : "Nils Urban 6/21/2024 15:16",
"renderedPoint" : "ds 6/19/2020 19:40",
"renderedPoint:" : "ds 6/19/2020 19:40",
- "safePopupPosition" : " Nils Urban 6/23/2024 22:11",
- "safePopupPosition:" : " Nils Urban 6/23/2024 22:12",
"suffix" : "Nils Urban 6/7/2024 23:48",
"suffix:" : "Nils Urban 6/7/2024 23:48" } }
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/instance/addSlider.st b/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/instance/addSlider.st
index 63f79cf0..03499946 100644
--- a/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/instance/addSlider.st
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/instance/addSlider.st
@@ -8,11 +8,13 @@ addSlider
self addMorph: sliderMorph.
self addMorph: valueMorph.
self configureSlider: sliderMorph.
+
valueMorph
extent: (20@50);
backgroundColor: Color white;
position: ((self position x - 150)@(self position y + (sliderMorph height)));
contents: (Text fromString: 'haloo').
+
self
sliderValueMorph: valueMorph;
sliderMorph: sliderMorph;
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/instance/configureSlider..st b/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/instance/configureSlider..st
deleted file mode 100644
index 09cf26d4..00000000
--- a/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/instance/configureSlider..st
+++ /dev/null
@@ -1,10 +0,0 @@
-accessing
-configureSlider: aSliderMorph
-
- aSliderMorph
- extent: (100 @ 500);
- position: ((self position x - 150)@(self position y));
- orientation: #vertical;
- minVal: (self globalMinimum: #z);
- maxVal: (self globalMaximum: #z);
- setValue: 1
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/instance/extent..st b/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/instance/extent..st
index 721470c0..1c33f5ed 100644
--- a/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/instance/extent..st
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/instance/extent..st
@@ -1,6 +1,5 @@
geometry
extent: aPoint
-
|width labelHeight barCharts|
width := 0.
labelHeight := 0.
@@ -16,4 +15,4 @@ extent: aPoint
(self hasCoordinateSystem)
ifTrue: [self coordinateSystem extent: aPoint - (width @ (labelHeight))].
(self hasChart)
- ifTrue: [self updateCharts]
+ ifTrue: [self updateCharts]
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/instance/globalMaximum..st b/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/instance/globalMaximum..st
index 864f5816..281aea74 100644
--- a/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/instance/globalMaximum..st
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/instance/globalMaximum..st
@@ -2,6 +2,7 @@ adding/removing
globalMaximum: aDimension
|chartMaxima|
+
chartMaxima := charts collect: [:aChart | aChart data maximum: aDimension].
^ chartMaxima max
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/instance/globalMinimum..st b/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/instance/globalMinimum..st
index 516da3eb..653652e3 100644
--- a/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/instance/globalMinimum..st
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/instance/globalMinimum..st
@@ -2,6 +2,7 @@ adding/removing
globalMinimum: aDimension
|chartMaxima|
+
chartMaxima := charts collect: [:aChart | aChart data minimum: aDimension].
^ chartMaxima min
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/instance/legend..st b/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/instance/legend..st
index 33224453..9ce4adcc 100644
--- a/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/instance/legend..st
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/instance/legend..st
@@ -1,4 +1,3 @@
accessing
legend: anObject
-
legend := anObject
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/instance/normalizeData..st b/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/instance/normalizeData..st
deleted file mode 100644
index 8b5a1c1a..00000000
--- a/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/instance/normalizeData..st
+++ /dev/null
@@ -1,11 +0,0 @@
-visualization
-normalizeData: aSWData
-
- | stack |
- stack := (Array new: (aSWData first size)) collect: [:a | 0].
- aSWData do: [:aData |
- aData doWithIndex: [:vector :index |
- stack at: index put: (vector y + (stack at: index))]].
- aSWData do: [:aData |
- aData doWithIndex: [:vector :index |
- vector at: 2 put: (100 * (vector y) / stack at: index)]]
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/instance/stackData..st b/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/instance/stackData..st
deleted file mode 100644
index db03684f..00000000
--- a/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/instance/stackData..st
+++ /dev/null
@@ -1,9 +0,0 @@
-visualization
-stackData: aSWData
-
- | stack |
- stack := (Array new: (aSWData first size)) collect: [:a | 0].
- aSWData do: [:aData |
- aData doWithIndex: [:vector :index |
- stack at: index put: (vector y + (stack at: index)).
- vector at: 2 put: (stack at: index)]]
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/methodProperties.json b/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/methodProperties.json
index 9910818a..f61f58e0 100644
--- a/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/methodProperties.json
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWDiagram.class/methodProperties.json
@@ -5,7 +5,7 @@
"add:" : "PAR 7/6/2021 07:53",
"addChart:" : "jk 6/25/2020 22:27",
"addCoordinateSystem:" : "jk 6/24/2020 15:36",
- "addSlider" : " Nils Urban 7/8/2024 11:26",
+ "addSlider" : " Nils Urban 7/8/2024 22:45",
"applyColorTheme:" : "JB 6/9/2024 23:22",
"axisColor:" : "ds 6/19/2020 20:01",
"buttonHighlighting:" : "JB 6/18/2024 20:11",
@@ -16,7 +16,6 @@
"collectNewData" : "Nils Urban 6/13/2024 02:12",
"colorTheme" : "ds 6/19/2020 20:02",
"colorTheme:" : "ds 6/19/2020 20:02",
- "configureSlider:" : " Nils Urban 7/8/2024 11:23",
"coordinateSystem" : "ds 6/19/2020 20:02",
"coordinateSystem:" : "jk 6/24/2020 15:40",
"createIMGExportBtn" : "JB 6/20/2024 01:37",
@@ -29,12 +28,12 @@
"disableBordersOnFocus" : "FM 5/10/2021 20:59",
"exportButton" : "JB 6/9/2024 00:40",
"exportButton:" : "JB 6/9/2024 00:40",
- "exportIMG" : " Nils Urban 7/8/2024 11:27",
- "extent:" : " Nils Urban 7/8/2024 15:41",
- "getColor:for:" : " Nils Urban 7/8/2024 11:29",
- "getTitleBarHeight" : " Nils Urban 7/8/2024 11:29",
- "globalMaximum:" : " Nils Urban 7/8/2024 11:29",
- "globalMinimum:" : " Nils Urban 7/8/2024 11:29",
+ "exportIMG" : " Nils Urban 7/8/2024 22:46",
+ "extent:" : " Nils Urban 7/8/2024 22:46",
+ "getColor:for:" : " Nils Urban 7/8/2024 22:46",
+ "getTitleBarHeight" : "JB 6/18/2024 19:53",
+ "globalMaximum:" : " Nils Urban 7/8/2024 22:46",
+ "globalMinimum:" : " Nils Urban 7/8/2024 22:47",
"handlesMouseDown:" : "FM 5/10/2021 20:42",
"hasChart" : "jk 6/25/2020 22:26",
"hasCoordinateSystem" : "ds 6/19/2020 20:03",
@@ -42,7 +41,7 @@
"initialize" : "JB 6/19/2024 22:39",
"insertHPILogo" : "JB 6/9/2024 23:17",
"legend" : "JB 6/9/2024 00:41",
- "legend:" : " Nils Urban 7/8/2024 11:30",
+ "legend:" : "PAR 7/2/2021 12:23",
"loadExportIconFor:" : "JB 6/18/2024 20:04",
"logo" : "JB 6/9/2024 23:08",
"logo:" : "JB 6/9/2024 23:08",
@@ -50,9 +49,8 @@
"maximumOfAllChartsForDimension:" : "jk 8/4/2020 11:31",
"minimumOfAllChartsForDimension:" : "jk 8/4/2020 11:32",
"mouseDown:" : "FM 5/10/2021 21:18",
- "normalizeData:" : " Nils Urban 7/8/2024 11:40",
- "normalized" : " Nils Urban 7/8/2024 11:30",
- "normalized:" : " Nils Urban 7/8/2024 11:31",
+ "normalized" : " Nils Urban 7/8/2024 22:47",
+ "normalized:" : " Nils Urban 7/8/2024 22:47",
"redrawChangedData" : "Nils Urban 6/13/2024 02:18",
"remove:" : "PAR 7/6/2021 07:49",
"removeLegend" : "PAR 7/13/2021 12:17",
@@ -63,10 +61,9 @@
"showMean" : "JB 6/19/2024 01:56",
"sliderMorph" : "Nils Urban 6/19/2024 17:40",
"sliderMorph:" : "Nils Urban 6/19/2024 17:40",
- "sliderValueMorph" : " Nils Urban 7/8/2024 11:33",
+ "sliderValueMorph" : " Nils Urban 7/8/2024 22:47",
"sliderValueMorph:" : "Nils Urban 6/13/2024 11:45",
- "stackData:" : " Nils Urban 7/8/2024 11:46",
- "stacked" : " Nils Urban 7/8/2024 11:33",
+ "stacked" : " Nils Urban 7/8/2024 22:48",
"stacked:" : "Nils Urban 6/12/2024 14:48",
"toggleRaster" : "ds 6/19/2020 20:04",
"transformToSpiderData:" : "JB 6/10/2024 22:25",
@@ -76,9 +73,9 @@
"updateColors" : "jk 8/4/2020 18:16",
"updateCoordinateSystem" : "jk 7/15/2020 15:49",
"updateHPILogo" : "JB 6/9/2024 23:14",
- "updateLegend" : " Nils Urban 7/8/2024 11:33",
+ "updateLegend" : " Nils Urban 7/8/2024 22:48",
"visualize:and:with:and:" : "ds 6/19/2020 20:05",
- "visualize:original:with:" : " Nils Urban 6/21/2024 15:09",
- "visualize:with:" : " Nils Urban 7/8/2024 13:56",
+ "visualize:original:with:" : "Nils Urban 6/21/2024 15:09",
+ "visualize:with:" : "Nils Urban 6/23/2024 11:07",
"visualize:with:and:" : "JB 6/8/2024 17:56",
- "visualizeAll:with:" : " Nils Urban 7/8/2024 11:47" } }
+ "visualizeAll:with:" : " Nils Urban 7/8/2024 22:49" } }
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWLineChart.class/instance/createDataNameMorph.st b/packages/StatisticsWorkbench-Diagrams.package/SWLineChart.class/instance/createDataNameMorph.st
new file mode 100644
index 00000000..992cf4c3
--- /dev/null
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWLineChart.class/instance/createDataNameMorph.st
@@ -0,0 +1,5 @@
+visualization
+createDataNameMorph
+
+ "DELETE THIS"
+
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWLineChart.class/instance/dataNameMorph..st b/packages/StatisticsWorkbench-Diagrams.package/SWLineChart.class/instance/dataNameMorph..st
new file mode 100644
index 00000000..7efa2d88
--- /dev/null
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWLineChart.class/instance/dataNameMorph..st
@@ -0,0 +1,4 @@
+accessing
+dataNameMorph: aTextMorph
+
+ "DELETE THIS"
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWLineChart.class/instance/dataNameMorph.st b/packages/StatisticsWorkbench-Diagrams.package/SWLineChart.class/instance/dataNameMorph.st
new file mode 100644
index 00000000..dc3fbe78
--- /dev/null
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWLineChart.class/instance/dataNameMorph.st
@@ -0,0 +1,4 @@
+accessing
+dataNameMorph
+
+ "DELETE THIS"
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWLineChart.class/instance/updateDataName.st b/packages/StatisticsWorkbench-Diagrams.package/SWLineChart.class/instance/updateDataName.st
new file mode 100644
index 00000000..f6326a01
--- /dev/null
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWLineChart.class/instance/updateDataName.st
@@ -0,0 +1,4 @@
+visualization
+updateDataName
+
+ "DELETE THIS"
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWLineChart.class/instance/updateDataNameMorph.st b/packages/StatisticsWorkbench-Diagrams.package/SWLineChart.class/instance/updateDataNameMorph.st
new file mode 100644
index 00000000..0067a8b5
--- /dev/null
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWLineChart.class/instance/updateDataNameMorph.st
@@ -0,0 +1,4 @@
+visualization
+updateDataNameMorph
+
+ "DELETE THIS"
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWLineChart.class/methodProperties.json b/packages/StatisticsWorkbench-Diagrams.package/SWLineChart.class/methodProperties.json
index f27abe56..a2abcffa 100644
--- a/packages/StatisticsWorkbench-Diagrams.package/SWLineChart.class/methodProperties.json
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWLineChart.class/methodProperties.json
@@ -9,12 +9,15 @@
"addDatapointsToLine" : "FM 8/6/2021 13:07",
"applyDataColor" : "FM 8/6/2021 13:00",
"applyTheme:" : "IK 5/20/2021 19:58",
+ "createDataNameMorph" : " Nils Urban 7/8/2024 22:50",
"createLineMorph" : "JB 6/18/2024 22:51",
"createVertices" : "jvm 8/6/2020 11:11",
"data:" : "FM 8/6/2021 13:05",
"dataColor" : "FM 7/26/2021 17:25",
"dataName" : "FM 8/6/2021 13:08",
"dataName:" : "sjs 7/4/2020 10:36",
+ "dataNameMorph" : " Nils Urban 7/8/2024 22:50",
+ "dataNameMorph:" : " Nils Urban 7/8/2024 22:50",
"dataPoints" : "FM 8/6/2021 12:56",
"dataPoints:" : "FM 8/6/2021 12:56",
"doubleClick:" : "ds 6/19/2020 19:01",
@@ -30,7 +33,9 @@
"removeAllDatapoints" : "FM 8/6/2021 13:11",
"requiredCoordinateSystem" : "FM 7/9/2021 17:12",
"supportsShowMean" : "jk 8/4/2020 17:58",
- "update" : " Nils Urban 7/8/2024 15:01",
+ "update" : " Nils Urban 7/8/2024 22:50",
+ "updateDataName" : " Nils Urban 7/8/2024 22:51",
+ "updateDataNameMorph" : " Nils Urban 7/8/2024 22:51",
"vertices" : "FM 8/6/2021 13:09",
"vertices:" : "jvm 8/5/2020 11:18",
"verticesComparator" : "ds 6/19/2020 19:04" } }
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWLinearRegression.class/class/newFrom..st b/packages/StatisticsWorkbench-Diagrams.package/SWLinearRegression.class/class/newFrom..st
deleted file mode 100644
index 748eb828..00000000
--- a/packages/StatisticsWorkbench-Diagrams.package/SWLinearRegression.class/class/newFrom..st
+++ /dev/null
@@ -1,13 +0,0 @@
-as yet unclassified
-newFrom: aScatterPlot
-
- | data xValues yValues |
-
- data := aScatterPlot data.
- xValues := OrderedCollection new.
- yValues := OrderedCollection new.
- data
- do: [:each |
- xValues add: each x.
- yValues add: each y].
- ^ self newFromXValues: xValues andYValues: yValues
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWLinearRegression.class/class/newFromScatterPlot.plotOn..st b/packages/StatisticsWorkbench-Diagrams.package/SWLinearRegression.class/class/newFromScatterPlot.plotOn..st
index 4d46888a..b7954761 100644
--- a/packages/StatisticsWorkbench-Diagrams.package/SWLinearRegression.class/class/newFromScatterPlot.plotOn..st
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWLinearRegression.class/class/newFromScatterPlot.plotOn..st
@@ -4,4 +4,6 @@ newFromScatterPlot: aScatterPlot plotOn: aSWDiagram
| linearRegression |
linearRegression := self newFromScatterPlot: aScatterPlot.
- linearRegression plotOn: aSWDiagram
+ linearRegression plotOn: aSWDiagram.
+
+ ^ linearRegression
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWLinearRegression.class/methodProperties.json b/packages/StatisticsWorkbench-Diagrams.package/SWLinearRegression.class/methodProperties.json
index 193c2492..2f83e77d 100644
--- a/packages/StatisticsWorkbench-Diagrams.package/SWLinearRegression.class/methodProperties.json
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWLinearRegression.class/methodProperties.json
@@ -1,8 +1,7 @@
{
"class" : {
- "newFrom:" : "ds 6/19/2020 20:08",
"newFromScatterPlot:" : "ds 6/19/2020 20:08",
- "newFromScatterPlot:plotOn:" : "ds 6/19/2020 20:08",
+ "newFromScatterPlot:plotOn:" : "JB 6/23/2024 14:45",
"newFromXValues:andYValues:" : "ds 6/19/2020 20:08" },
"instance" : {
"calculateCorrelationFromXValues:andYValues:" : "ds 6/19/2020 20:05",
diff --git a/packages/StatisticsWorkbench-Diagrams.package/SWSpiderCoordinateSystem.class/methodProperties.json b/packages/StatisticsWorkbench-Diagrams.package/SWSpiderCoordinateSystem.class/methodProperties.json
index 8297a375..edd5fbbf 100644
--- a/packages/StatisticsWorkbench-Diagrams.package/SWSpiderCoordinateSystem.class/methodProperties.json
+++ b/packages/StatisticsWorkbench-Diagrams.package/SWSpiderCoordinateSystem.class/methodProperties.json
@@ -37,6 +37,6 @@
"resetSpiderNet" : "FM 7/11/2021 17:21",
"spiderNet" : "FM 7/11/2021 17:21",
"spiderNet:" : "FM 7/11/2021 16:31",
- "update" : " Nils Urban 7/8/2024 15:34",
+ "update" : "Nils Urban 7/8/2024 15:34",
"updateDimensionLabels" : "FM 7/11/2021 18:02",
"updateDimensions" : "FM 7/11/2021 16:46" } }
diff --git a/packages/StatisticsWorkbench-Examples.package/SWBarChartFullExample.class/class/open.st b/packages/StatisticsWorkbench-Examples.package/SWBarChartFullExample.class/class/open.st
index d564de99..ef331ed1 100644
--- a/packages/StatisticsWorkbench-Examples.package/SWBarChartFullExample.class/class/open.st
+++ b/packages/StatisticsWorkbench-Examples.package/SWBarChartFullExample.class/class/open.st
@@ -1,4 +1,4 @@
instance creation
open
-
- ^ (SWDiagram new visualize: self data with: SWBarChart) openInWindowLabeled: ''
+
+ ^ (SWDiagram new visualize: self data with: SWBarChart) openInWindowLabeled: ''
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Examples.package/SWBarChartFullExample.class/methodProperties.json b/packages/StatisticsWorkbench-Examples.package/SWBarChartFullExample.class/methodProperties.json
index e32a973a..eddf89a2 100644
--- a/packages/StatisticsWorkbench-Examples.package/SWBarChartFullExample.class/methodProperties.json
+++ b/packages/StatisticsWorkbench-Examples.package/SWBarChartFullExample.class/methodProperties.json
@@ -1,6 +1,6 @@
{
"class" : {
"data" : "JB 6/8/2024 19:55",
- "open" : "JB 6/10/2024 21:22" },
+ "open" : " Nils Urban 7/8/2024 22:53" },
"instance" : {
} }
diff --git a/packages/StatisticsWorkbench-Examples.package/SWBubblePlotExample.class/class/data1.st b/packages/StatisticsWorkbench-Examples.package/SWBubblePlotExample.class/class/data1.st
index 91d03ea3..664a7f9d 100644
--- a/packages/StatisticsWorkbench-Examples.package/SWBubblePlotExample.class/class/data1.st
+++ b/packages/StatisticsWorkbench-Examples.package/SWBubblePlotExample.class/class/data1.st
@@ -1,4 +1,4 @@
as yet unclassified
data1
- ^ SWDataUnlabeled fromXValues: {(1.5) . (2.5) . 3 . 4 . 5} versusYValues: {22 . 110 . 64 . 211 . 35} versusZValues: {9 . 20 . 3 . 7 . 12}
+ ^ SWDataUnlabeled fromXValues: {1 . 2 . 3 . 4 . 5} versusYValues: {22 . 110 . 64 . 211 . 35} versusZValues: {9 . 20 . 3 . 7 . 12}
diff --git a/packages/StatisticsWorkbench-Examples.package/SWBubblePlotExample.class/class/data3.st b/packages/StatisticsWorkbench-Examples.package/SWBubblePlotExample.class/class/data3.st
index e2b72113..520c2b61 100644
--- a/packages/StatisticsWorkbench-Examples.package/SWBubblePlotExample.class/class/data3.st
+++ b/packages/StatisticsWorkbench-Examples.package/SWBubblePlotExample.class/class/data3.st
@@ -1,4 +1,4 @@
as yet unclassified
data3
- ^ SWDataUnlabeled fromXValues: {1 . 2 . 3 . 4 . 5} versusYValues: {210 . 53 . 180 . 83 . 211} versusZValues: {6 . 3 . 9 . 7 . 11}
+ ^ SWDataUnlabeled fromXValues: {1 . 2 . 3 . 4 . 5} versusYValues: {210 . 53 . 180 . 83 . 27} versusZValues: {6 . 3 . 9 . 7 . 11}
diff --git a/packages/StatisticsWorkbench-Examples.package/SWBubblePlotExample.class/methodProperties.json b/packages/StatisticsWorkbench-Examples.package/SWBubblePlotExample.class/methodProperties.json
index 0052ba30..9dcde1fc 100644
--- a/packages/StatisticsWorkbench-Examples.package/SWBubblePlotExample.class/methodProperties.json
+++ b/packages/StatisticsWorkbench-Examples.package/SWBubblePlotExample.class/methodProperties.json
@@ -1,8 +1,8 @@
{
"class" : {
- "data1" : "Nils Urban 6/14/2024 10:47",
+ "data1" : "Nils Urban 6/23/2024 11:31",
"data2" : "Nils Urban 6/13/2024 14:29",
- "data3" : " Nils Urban 6/23/2024 22:26",
- "open" : " Nils Urban 6/23/2024 23:42" },
+ "data3" : "Nils Urban 6/13/2024 14:29",
+ "open" : "Nils Urban 6/23/2024 11:30" },
"instance" : {
} }
diff --git a/packages/StatisticsWorkbench-Tests.package/SWBarChartTest.class/instance/setUp.st b/packages/StatisticsWorkbench-Tests.package/SWBarChartTest.class/instance/setUp.st
index 72c0e048..598592da 100644
--- a/packages/StatisticsWorkbench-Tests.package/SWBarChartTest.class/instance/setUp.st
+++ b/packages/StatisticsWorkbench-Tests.package/SWBarChartTest.class/instance/setUp.st
@@ -4,6 +4,6 @@ setUp
super setUp.
self
- data: SWDataStub createSeeded;
+ data: SWDataStub createSeeded4;
diagram: (SWDiagram new visualize: self data with: SWBarChart);
barChart: (self diagram charts) first
diff --git a/packages/StatisticsWorkbench-Tests.package/SWBarChartTest.class/instance/testChangeLabelPosition.st b/packages/StatisticsWorkbench-Tests.package/SWBarChartTest.class/instance/testChangeLabelPosition.st
new file mode 100644
index 00000000..17a1d396
--- /dev/null
+++ b/packages/StatisticsWorkbench-Tests.package/SWBarChartTest.class/instance/testChangeLabelPosition.st
@@ -0,0 +1,4 @@
+testing
+testChangeLabelPosition
+
+ "DELETE THIS"
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Tests.package/SWBarChartTest.class/instance/testRemove.st b/packages/StatisticsWorkbench-Tests.package/SWBarChartTest.class/instance/testRemove.st
index dbdfc604..80d5e24c 100644
--- a/packages/StatisticsWorkbench-Tests.package/SWBarChartTest.class/instance/testRemove.st
+++ b/packages/StatisticsWorkbench-Tests.package/SWBarChartTest.class/instance/testRemove.st
@@ -1,6 +1,11 @@
testing
testRemove
+
+ | vector |
+ vector := SWVector newFrom: #(1 1).
+ vector labelName: 'two'.
self assert: self data size equals: self barChart bars size.
- self data removeArray: #(1 1).
+ self data remove: vector.
+ self barChart update.
self assert: self data size equals: self barChart bars size
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Tests.package/SWBarChartTest.class/instance/testRemoveBarFromData.st b/packages/StatisticsWorkbench-Tests.package/SWBarChartTest.class/instance/testRemoveBarFromData.st
index 1f76bc21..6d5bc53a 100644
--- a/packages/StatisticsWorkbench-Tests.package/SWBarChartTest.class/instance/testRemoveBarFromData.st
+++ b/packages/StatisticsWorkbench-Tests.package/SWBarChartTest.class/instance/testRemoveBarFromData.st
@@ -1,10 +1,13 @@
testing
testRemoveBarFromData
- | size |
+ | size vector |
+ vector := SWVector fromArray: #(3 1).
+ vector labelName: 'four'.
size := self barChart bars size.
- self assert: (self barChart data contains: [:data | data x = 3 and: data y = 0]) .
- self barChart data removeArray: #(3 0).
- self deny: (self barChart data contains: [:data | data x = 3 and: data y = 0]).
+ self assert: (self barChart data contains: [:data | data x = 3 and: data y = 1]) .
+ self barChart data remove: vector.
+ self barChart update.
+ self deny: (self barChart data contains: [:data | data x = 3 and: data y = 1]).
self assert: self barChart bars size = (size - 1)
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Tests.package/SWBarChartTest.class/instance/testRescaleAfterRemoving.st b/packages/StatisticsWorkbench-Tests.package/SWBarChartTest.class/instance/testRescaleAfterRemoving.st
index 4f18ae27..b3ed5ea2 100644
--- a/packages/StatisticsWorkbench-Tests.package/SWBarChartTest.class/instance/testRescaleAfterRemoving.st
+++ b/packages/StatisticsWorkbench-Tests.package/SWBarChartTest.class/instance/testRescaleAfterRemoving.st
@@ -1,9 +1,12 @@
testing
testRescaleAfterRemoving
- | xScaleBefore xScaleAfter |
+ | xScaleBefore xScaleAfter vector|
+ vector := SWVector fromArray: #(3 1).
+ vector labelName: 'four'.
xScaleBefore := self diagram coordinateSystem xAxis maximum.
- self barChart data removeArray: #(3 0).
+ self barChart data remove: vector.
+ self barChart update.
xScaleAfter := self diagram coordinateSystem xAxis maximum.
self assert: (xScaleBefore ~= xScaleAfter)
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Tests.package/SWBarChartTest.class/methodProperties.json b/packages/StatisticsWorkbench-Tests.package/SWBarChartTest.class/methodProperties.json
index 4398b83e..dfa1c01c 100644
--- a/packages/StatisticsWorkbench-Tests.package/SWBarChartTest.class/methodProperties.json
+++ b/packages/StatisticsWorkbench-Tests.package/SWBarChartTest.class/methodProperties.json
@@ -8,15 +8,16 @@
"data:" : "aj 5/30/2018 17:10",
"diagram" : "aj 5/30/2018 17:10",
"diagram:" : "aj 5/30/2018 17:10",
- "setUp" : "JB 6/8/2024 19:38",
+ "setUp" : "Nils Urban 6/23/2024 11:53",
"testAdd" : "sjs 6/11/2020 15:51",
"testBarCount" : "sjs 6/11/2020 15:51",
"testBarGraphImplementsCreate" : "sjs 6/11/2020 15:52",
"testBarWidth" : "sjs 8/4/2020 15:50",
+ "testChangeLabelPosition" : " Nils Urban 7/8/2024 22:54",
"testCollectionsGetInitialized" : "sjs 6/11/2020 15:51",
"testDifferentColors" : "JB 6/8/2024 19:39",
"testIsInvisible" : "sjs 6/11/2020 15:51",
- "testRemove" : "PAR 8/6/2021 12:03",
+ "testRemove" : "Nils Urban 6/23/2024 12:24",
"testRemoveAll" : "sjs 6/11/2020 15:51",
- "testRemoveBarFromData" : "PAR 8/6/2021 13:11",
- "testRescaleAfterRemoving" : "PAR 8/6/2021 12:04" } }
+ "testRemoveBarFromData" : "Nils Urban 6/23/2024 12:19",
+ "testRescaleAfterRemoving" : "Nils Urban 6/23/2024 12:20" } }
diff --git a/packages/StatisticsWorkbench-Tests.package/SWCSVReaderTest.class/instance/testNamedColumnsFromStream.st b/packages/StatisticsWorkbench-Tests.package/SWCSVReaderTest.class/instance/testNamedColumnsFromStream.st
index 758243a5..25d87d87 100644
--- a/packages/StatisticsWorkbench-Tests.package/SWCSVReaderTest.class/instance/testNamedColumnsFromStream.st
+++ b/packages/StatisticsWorkbench-Tests.package/SWCSVReaderTest.class/instance/testNamedColumnsFromStream.st
@@ -4,5 +4,5 @@ testNamedColumnsFromStream
| columns expectedColumnNames |
columns := self csvReader getNamedColumns: SWCSVStub csvStreamLabeledData.
- expectedColumnNames := {'X'. 'Y'. 'Labels'}.
+ expectedColumnNames := {'X'. 'Y'. 'Label'}.
self assert: columns keys = expectedColumnNames
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Tests.package/SWCSVReaderTest.class/methodProperties.json b/packages/StatisticsWorkbench-Tests.package/SWCSVReaderTest.class/methodProperties.json
index 0df0b551..55fbd6f3 100644
--- a/packages/StatisticsWorkbench-Tests.package/SWCSVReaderTest.class/methodProperties.json
+++ b/packages/StatisticsWorkbench-Tests.package/SWCSVReaderTest.class/methodProperties.json
@@ -6,4 +6,4 @@
"csvReader:" : "PAR 8/6/2021 12:08",
"setUp" : "FM 5/24/2021 16:13",
"testDifferentDelimeter" : "PAR 8/6/2021 13:07",
- "testNamedColumnsFromStream" : "PAR 8/6/2021 13:07" } }
+ "testNamedColumnsFromStream" : "JB 6/21/2024 14:39" } }
diff --git a/packages/StatisticsWorkbench-Tests.package/SWCSVStub.class/class/csvStreamLabeledData.st b/packages/StatisticsWorkbench-Tests.package/SWCSVStub.class/class/csvStreamLabeledData.st
index 85e7e81f..dd3bbdb7 100644
--- a/packages/StatisticsWorkbench-Tests.package/SWCSVStub.class/class/csvStreamLabeledData.st
+++ b/packages/StatisticsWorkbench-Tests.package/SWCSVStub.class/class/csvStreamLabeledData.st
@@ -4,7 +4,7 @@ csvStreamLabeledData
| lines csvString |
lines :={
- 'X;Y;Labels' .
+ 'X;Y;Label' .
'0;1;one' .
'1;1;two' .
'2;3;three' .
diff --git a/packages/StatisticsWorkbench-Tests.package/SWCSVStub.class/class/csvStreamLabeledDataMultipleY.st b/packages/StatisticsWorkbench-Tests.package/SWCSVStub.class/class/csvStreamLabeledDataMultipleY.st
new file mode 100644
index 00000000..cecee1d8
--- /dev/null
+++ b/packages/StatisticsWorkbench-Tests.package/SWCSVStub.class/class/csvStreamLabeledDataMultipleY.st
@@ -0,0 +1,15 @@
+helper
+csvStreamLabeledDataMultipleY
+
+ | lines csvString |
+
+ lines :={
+ 'X;Y1;Y2;Y3;Y4;Label' .
+ '0;1;4;5;3;one' .
+ '1;1;2;9;4;two' .
+ '2;3;8;5;9;three' .
+ '3;1;7;6;2;four'
+ }.
+ csvString := lines inject: '' into: [:agg :current | agg, current, String cr].
+ ^ ReadStream on: csvString from: 1 to: csvString size
+
diff --git a/packages/StatisticsWorkbench-Tests.package/SWCSVStub.class/methodProperties.json b/packages/StatisticsWorkbench-Tests.package/SWCSVStub.class/methodProperties.json
index 914ea71d..850b1aee 100644
--- a/packages/StatisticsWorkbench-Tests.package/SWCSVStub.class/methodProperties.json
+++ b/packages/StatisticsWorkbench-Tests.package/SWCSVStub.class/methodProperties.json
@@ -1,7 +1,8 @@
{
"class" : {
- "csvStreamLabeledData" : "PAR 8/6/2021 12:36",
+ "csvStreamLabeledData" : "JB 6/21/2024 13:19",
"csvStreamLabeledDataCommaSeparated" : "PAR 8/6/2021 13:09",
+ "csvStreamLabeledDataMultipleY" : "JB 6/21/2024 14:57",
"csvStreamLabeledDataWhitespaceSeparated" : "PAR 8/6/2021 13:09",
"csvStreamUnlabeledData" : "PAR 8/6/2021 12:38",
"csvStreamWithWhitespaceDelimeter" : "PAR 8/6/2021 12:35",
diff --git a/packages/StatisticsWorkbench-Tests.package/SWDataTest.class/instance/testCSVImport.st b/packages/StatisticsWorkbench-Tests.package/SWDataTest.class/instance/testCSVImport.st
index 67e48bee..c377149f 100644
--- a/packages/StatisticsWorkbench-Tests.package/SWDataTest.class/instance/testCSVImport.st
+++ b/packages/StatisticsWorkbench-Tests.package/SWDataTest.class/instance/testCSVImport.st
@@ -4,7 +4,7 @@ testCSVImport
| seededData csvStream labeledData |
seededData := SWDataStub createSeeded4.
- csvStream := SWCSVStub csvStreamLabeledDataCommaSeparated.
+ csvStream := SWCSVStub csvStreamLabeledData.
labeledData := SWDataLabeled fromCSVStream: csvStream.
labeledData setAllDimensionNames: #('Time' 'Value').
diff --git a/packages/StatisticsWorkbench-Tests.package/SWDataTest.class/methodProperties.json b/packages/StatisticsWorkbench-Tests.package/SWDataTest.class/methodProperties.json
index 962f05d7..2691a14a 100644
--- a/packages/StatisticsWorkbench-Tests.package/SWDataTest.class/methodProperties.json
+++ b/packages/StatisticsWorkbench-Tests.package/SWDataTest.class/methodProperties.json
@@ -12,7 +12,7 @@
"testAsString" : "FM 7/3/2021 17:35",
"testAsStringWithLabels" : "FM 7/27/2021 11:42",
"testAsStringWithoutLabels" : "FM 7/27/2021 11:43",
- "testCSVImport" : "JB 6/20/2024 01:34",
+ "testCSVImport" : "JB 6/21/2024 12:25",
"testCSVImportWithCustomDimensionNamesWithoutLabels" : "PAR 8/6/2021 12:43",
"testCSVImportWithDelimeter" : "PAR 8/6/2021 12:46",
"testCSVImportWithEmptyFileStream" : "PAR 8/6/2021 12:45",
diff --git a/packages/StatisticsWorkbench-Tests.package/SWLinearRegressionTest.class/instance/executePlotTest..st b/packages/StatisticsWorkbench-Tests.package/SWLinearRegressionTest.class/instance/executePlotTest..st
new file mode 100644
index 00000000..0bd1b051
--- /dev/null
+++ b/packages/StatisticsWorkbench-Tests.package/SWLinearRegressionTest.class/instance/executePlotTest..st
@@ -0,0 +1,13 @@
+testing
+executePlotTest: aTestValuesDictionary
+
+ | correctSlope correctIntersect exampleLinearRegression data scatterPlot |
+
+ correctSlope := aTestValuesDictionary at: #correctSlope.
+ correctIntersect := aTestValuesDictionary at: #correctIntersect.
+ data := SWDataUnlabeled fromXValues: (aTestValuesDictionary at: #x) versusYValues: (aTestValuesDictionary at: #y).
+ scatterPlot := SWDiagram new visualize: data with: SWScatterPlot.
+ exampleLinearRegression := SWLinearRegression newFromScatterPlot: (scatterPlot charts first) plotOn: scatterPlot.
+ self assert: ((correctSlope - self tolerance to: correctSlope + self tolerance) rangeIncludes: exampleLinearRegression slope).
+ self assert: ((correctIntersect - self tolerance to: correctIntersect + self tolerance) rangeIncludes: exampleLinearRegression intersect).
+ self assert: 2 equals: scatterPlot charts size
diff --git a/packages/StatisticsWorkbench-Tests.package/SWLinearRegressionTest.class/instance/executeTest..st b/packages/StatisticsWorkbench-Tests.package/SWLinearRegressionTest.class/instance/executeXYTest..st
similarity index 94%
rename from packages/StatisticsWorkbench-Tests.package/SWLinearRegressionTest.class/instance/executeTest..st
rename to packages/StatisticsWorkbench-Tests.package/SWLinearRegressionTest.class/instance/executeXYTest..st
index 70e314c3..2fad2cd7 100644
--- a/packages/StatisticsWorkbench-Tests.package/SWLinearRegressionTest.class/instance/executeTest..st
+++ b/packages/StatisticsWorkbench-Tests.package/SWLinearRegressionTest.class/instance/executeXYTest..st
@@ -1,5 +1,5 @@
testing
-executeTest: aTestValuesDictionary
+executeXYTest: aTestValuesDictionary
| correctSlope correctIntersect exampleLinearRegression |
diff --git a/packages/StatisticsWorkbench-Tests.package/SWLinearRegressionTest.class/instance/testEasyData.st b/packages/StatisticsWorkbench-Tests.package/SWLinearRegressionTest.class/instance/testEasyData.st
index fdc80291..b459aa3c 100644
--- a/packages/StatisticsWorkbench-Tests.package/SWLinearRegressionTest.class/instance/testEasyData.st
+++ b/packages/StatisticsWorkbench-Tests.package/SWLinearRegressionTest.class/instance/testEasyData.st
@@ -1,4 +1,5 @@
testing
testEasyData
- self executeTest: self class createEasyData
+ self executeXYTest: self class createEasyData.
+ self executePlotTest: self class createEasyData
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Tests.package/SWLinearRegressionTest.class/instance/testHardData.st b/packages/StatisticsWorkbench-Tests.package/SWLinearRegressionTest.class/instance/testHardData.st
index 72fa19d6..77ae20b0 100644
--- a/packages/StatisticsWorkbench-Tests.package/SWLinearRegressionTest.class/instance/testHardData.st
+++ b/packages/StatisticsWorkbench-Tests.package/SWLinearRegressionTest.class/instance/testHardData.st
@@ -1,4 +1,5 @@
testing
testHardData
- self executeTest: self class createHardData
+ self executeXYTest: self class createHardData.
+ self executePlotTest: self class createHardData
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Tests.package/SWLinearRegressionTest.class/instance/testMediumData.st b/packages/StatisticsWorkbench-Tests.package/SWLinearRegressionTest.class/instance/testMediumData.st
index 55644199..4bcd3893 100644
--- a/packages/StatisticsWorkbench-Tests.package/SWLinearRegressionTest.class/instance/testMediumData.st
+++ b/packages/StatisticsWorkbench-Tests.package/SWLinearRegressionTest.class/instance/testMediumData.st
@@ -1,4 +1,5 @@
testing
testMediumData
- self executeTest: self class createMediumData.
+ self executeXYTest: self class createMediumData.
+ self executePlotTest: self class createMediumData
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Tests.package/SWLinearRegressionTest.class/methodProperties.json b/packages/StatisticsWorkbench-Tests.package/SWLinearRegressionTest.class/methodProperties.json
index 78de733f..ca8597f4 100644
--- a/packages/StatisticsWorkbench-Tests.package/SWLinearRegressionTest.class/methodProperties.json
+++ b/packages/StatisticsWorkbench-Tests.package/SWLinearRegressionTest.class/methodProperties.json
@@ -4,8 +4,9 @@
"createHardData" : "sjs 8/4/2020 15:42",
"createMediumData" : "sjs 8/4/2020 15:42" },
"instance" : {
- "executeTest:" : "sjs 8/4/2020 15:41",
- "testEasyData" : "sjs 8/4/2020 15:44",
- "testHardData" : "sjs 8/4/2020 15:44",
- "testMediumData" : "sjs 8/4/2020 15:43",
+ "executePlotTest:" : "JB 6/23/2024 14:42",
+ "executeXYTest:" : "JB 6/23/2024 14:42",
+ "testEasyData" : "JB 6/23/2024 14:42",
+ "testHardData" : "JB 6/23/2024 14:42",
+ "testMediumData" : "JB 6/23/2024 14:43",
"tolerance" : "ds 6/19/2020 20:31" } }
diff --git a/packages/StatisticsWorkbench-Tests.package/SWMainformModelTest.class/instance/testAddYAxisPopUp.st b/packages/StatisticsWorkbench-Tests.package/SWMainformModelTest.class/instance/testAddYAxisPopUp.st
new file mode 100644
index 00000000..9a0c0125
--- /dev/null
+++ b/packages/StatisticsWorkbench-Tests.package/SWMainformModelTest.class/instance/testAddYAxisPopUp.st
@@ -0,0 +1,5 @@
+testing
+testAddYAxisPopUp
+ self assert: self mainformModel yAxisSelection size = 3.
+ [self mainformModel showYAxisPopup] valueSupplyingAnswer: '1, 2, 3, 4, 5'.
+ self assert: self mainformModel yAxisSelection size = 4
diff --git a/packages/StatisticsWorkbench-Tests.package/SWMainformModelTest.class/instance/testCSVImport.st b/packages/StatisticsWorkbench-Tests.package/SWMainformModelTest.class/instance/testCSVImport.st
index 18f87a8f..4c147630 100644
--- a/packages/StatisticsWorkbench-Tests.package/SWMainformModelTest.class/instance/testCSVImport.st
+++ b/packages/StatisticsWorkbench-Tests.package/SWMainformModelTest.class/instance/testCSVImport.st
@@ -1,10 +1,13 @@
testing
testCSVImport
- self mainformModel stream: SWCSVStub csvStreamLabeledData.
+ self mainformModel stream: SWCSVStub csvStreamLabeledDataMultipleY.
self mainformModel setYAxis: {}.
[self mainformModel parseCSVData] valueSupplyingAnswer: '; "'.
self assert: '0, 1, 2, 3' equals: self mainformModel xAxis.
- self assert: '1, 1, 3, 1' equals: self mainformModel yAxis first.
+ self assert: ((self mainformModel yAxis) includes: '1, 1, 3, 1').
+ self assert: ((self mainformModel yAxis) includes: '4, 2, 8, 7').
+ self assert: ((self mainformModel yAxis) includes: '5, 9, 5, 6').
+ self assert: ((self mainformModel yAxis) includes: '3, 4, 9, 2').
self assert: 'one, two, three, four' equals: self mainformModel namedColumns.
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Tests.package/SWMainformModelTest.class/methodProperties.json b/packages/StatisticsWorkbench-Tests.package/SWMainformModelTest.class/methodProperties.json
index bbf69d6e..1088d631 100644
--- a/packages/StatisticsWorkbench-Tests.package/SWMainformModelTest.class/methodProperties.json
+++ b/packages/StatisticsWorkbench-Tests.package/SWMainformModelTest.class/methodProperties.json
@@ -9,9 +9,10 @@
"notified:" : "PAR 8/6/2021 12:53",
"numberOfCharts" : "PAR 5/13/2021 08:56",
"setUp" : "PAR 8/6/2021 12:54",
+ "testAddYAxisPopUp" : "JB 6/21/2024 15:16",
"testAddYAxisSelection" : "s 6/14/2024 22:13",
"testBuildWith" : "s 6/18/2024 20:05",
- "testCSVImport" : "JB 6/21/2024 12:15",
+ "testCSVImport" : "JB 6/21/2024 15:03",
"testChartSelection" : "PAR 8/6/2021 12:54",
"testChartSelectionLength" : "JB 6/12/2024 20:58",
"testChartsToVisualize" : "JB 6/12/2024 21:00",
diff --git a/packages/StatisticsWorkbench-Tests.package/SWUIBarChartOnDiagram.class/methodProperties.json b/packages/StatisticsWorkbench-Tests.package/SWUIBarChartOnDiagram.class/methodProperties.json
index b95c81cf..18209230 100644
--- a/packages/StatisticsWorkbench-Tests.package/SWUIBarChartOnDiagram.class/methodProperties.json
+++ b/packages/StatisticsWorkbench-Tests.package/SWUIBarChartOnDiagram.class/methodProperties.json
@@ -4,7 +4,7 @@
"instance" : {
"barChart" : "FM 6/27/2021 16:03",
"barChart:" : "FM 6/27/2021 16:03",
- "setUp" : "JB 6/8/2024 19:45",
+ "setUp" : "Nils Urban 6/23/2024 11:53",
"testRemoveBarOnUserInput" : "Nils Urban 5/27/2024 15:07",
"testRemoveBarOnUserInputInWindow" : "PAR 8/6/2021 13:11",
"testRemoveOnlyOneBarOnUserInput" : "Nils Urban 6/19/2024 17:46",
diff --git a/packages/StatisticsWorkbench-Tests.package/SWUIBubblePlotOnDiagram.class/README.md b/packages/StatisticsWorkbench-Tests.package/SWUIBubblePlotOnDiagram.class/README.md
deleted file mode 100644
index e69de29b..00000000
diff --git a/packages/StatisticsWorkbench-Tests.package/SWUIBubblePlotOnDiagram.class/instance/bubblePlot..st b/packages/StatisticsWorkbench-Tests.package/SWUIBubblePlotOnDiagram.class/instance/bubblePlot..st
deleted file mode 100644
index b2361dac..00000000
--- a/packages/StatisticsWorkbench-Tests.package/SWUIBubblePlotOnDiagram.class/instance/bubblePlot..st
+++ /dev/null
@@ -1,4 +0,0 @@
-as yet unclassified
-bubblePlot: aChart
-
- bubblePlot := aChart
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Tests.package/SWUIBubblePlotOnDiagram.class/instance/bubblePlot.st b/packages/StatisticsWorkbench-Tests.package/SWUIBubblePlotOnDiagram.class/instance/bubblePlot.st
deleted file mode 100644
index d81ce335..00000000
--- a/packages/StatisticsWorkbench-Tests.package/SWUIBubblePlotOnDiagram.class/instance/bubblePlot.st
+++ /dev/null
@@ -1,4 +0,0 @@
-as yet unclassified
-bubblePlot
-
- ^ bubblePlot
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Tests.package/SWUIBubblePlotOnDiagram.class/instance/setUp.st b/packages/StatisticsWorkbench-Tests.package/SWUIBubblePlotOnDiagram.class/instance/setUp.st
deleted file mode 100644
index 5e1da18e..00000000
--- a/packages/StatisticsWorkbench-Tests.package/SWUIBubblePlotOnDiagram.class/instance/setUp.st
+++ /dev/null
@@ -1,9 +0,0 @@
-as yet unclassified
-setUp
-
- super setUp.
-
- self
- data: SWDataStub createSeededXYZ;
- diagram: (SWDiagram new visualizeAll: self data with: SWBubblePlot);
- bubblePlot: (self diagram charts) first
diff --git a/packages/StatisticsWorkbench-Tests.package/SWUIBubblePlotOnDiagram.class/instance/testChangeBubbleColor.st b/packages/StatisticsWorkbench-Tests.package/SWUIBubblePlotOnDiagram.class/instance/testChangeBubbleColor.st
deleted file mode 100644
index 8e6acbdc..00000000
--- a/packages/StatisticsWorkbench-Tests.package/SWUIBubblePlotOnDiagram.class/instance/testChangeBubbleColor.st
+++ /dev/null
@@ -1,10 +0,0 @@
-as yet unclassified
-testChangeBubbleColor
-
- | selectedDataPoint|
-
- self diagram openInWindowLabeled: 'test' inWorld: self world.
- self assert: (self bubblePlot data contains: [:data | data x = 1 and: data y = 210]).
- selectedDataPoint := self bubblePlot dataPoints detect: [:dataPoint | dataPoint vector x = 1 and: dataPoint vector y = 210 ].
- self hand handleEvent: (self redMouseDownAt: (selectedDataPoint center)).
- self assert: selectedDataPoint color equals: Color red
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Tests.package/SWUIBubblePlotOnDiagram.class/instance/testRemoveBubbleOnUserInputInWindow.st b/packages/StatisticsWorkbench-Tests.package/SWUIBubblePlotOnDiagram.class/instance/testRemoveBubbleOnUserInputInWindow.st
deleted file mode 100644
index 0308be0c..00000000
--- a/packages/StatisticsWorkbench-Tests.package/SWUIBubblePlotOnDiagram.class/instance/testRemoveBubbleOnUserInputInWindow.st
+++ /dev/null
@@ -1,10 +0,0 @@
-as yet unclassified
-testRemoveBubbleOnUserInputInWindow
-
- | selectedDataPoint|
-
- self diagram openInWindowLabeled: 'test' inWorld: self world.
- self assert: (self bubblePlot data contains: [:data | data x = 1 and: data y = 210]).
- selectedDataPoint := self bubblePlot dataPoints detect: [:dataPoint | dataPoint vector x = 1 and: dataPoint vector y = 210 ].
- self hand handleEvent: (self yellowMouseDownAt: (selectedDataPoint center)).
- self deny: (self bubblePlot data contains: [:data | data x = 1 and: data y = 210])
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Tests.package/SWUIBubblePlotOnDiagram.class/instance/testXYPopupOnHover.st b/packages/StatisticsWorkbench-Tests.package/SWUIBubblePlotOnDiagram.class/instance/testXYPopupOnHover.st
deleted file mode 100644
index cab27df0..00000000
--- a/packages/StatisticsWorkbench-Tests.package/SWUIBubblePlotOnDiagram.class/instance/testXYPopupOnHover.st
+++ /dev/null
@@ -1,11 +0,0 @@
-as yet unclassified
-testXYPopupOnHover
-
- | selectedBubble |
- self diagram openInWorld: self world.
- selectedBubble := self bubblePlot dataPoints detect: [:bubble | bubble vector x = 1 and: bubble vector y = 210].
- self hand handleEvent: (self mouseEnter: selectedBubble center).
- self assert: selectedBubble infoPopup notNil.
- self assert: selectedBubble infoPopup position y > bubblePlot position y.
- self assert: selectedBubble infoPopup position x > bubblePlot position x.
-
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Tests.package/SWUIBubblePlotOnDiagram.class/methodProperties.json b/packages/StatisticsWorkbench-Tests.package/SWUIBubblePlotOnDiagram.class/methodProperties.json
deleted file mode 100644
index ea95cd7b..00000000
--- a/packages/StatisticsWorkbench-Tests.package/SWUIBubblePlotOnDiagram.class/methodProperties.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "class" : {
- },
- "instance" : {
- "bubblePlot" : " Nils Urban 6/23/2024 23:24",
- "bubblePlot:" : " Nils Urban 6/23/2024 23:24",
- "setUp" : " Nils Urban 6/23/2024 23:31",
- "testChangeBubbleColor" : " Nils Urban 6/23/2024 23:47",
- "testRemoveBubbleOnUserInputInWindow" : " Nils Urban 6/23/2024 23:43",
- "testXYPopupOnHover" : " Nils Urban 6/23/2024 23:46" } }
diff --git a/packages/StatisticsWorkbench-Tests.package/SWUIBubblePlotOnDiagram.class/properties.json b/packages/StatisticsWorkbench-Tests.package/SWUIBubblePlotOnDiagram.class/properties.json
deleted file mode 100644
index 7f825a1f..00000000
--- a/packages/StatisticsWorkbench-Tests.package/SWUIBubblePlotOnDiagram.class/properties.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "category" : "StatisticsWorkbench-Tests",
- "classinstvars" : [
- ],
- "classvars" : [
- ],
- "commentStamp" : "",
- "instvars" : [
- "bubblePlot" ],
- "name" : "SWUIBubblePlotOnDiagram",
- "pools" : [
- ],
- "super" : "SWUITest",
- "type" : "normal" }
diff --git a/packages/StatisticsWorkbench-Tests.package/SWUITest.class/instance/redMouseDownAt..st b/packages/StatisticsWorkbench-Tests.package/SWUITest.class/instance/redMouseDownAt..st
deleted file mode 100644
index 3ac94244..00000000
--- a/packages/StatisticsWorkbench-Tests.package/SWUITest.class/instance/redMouseDownAt..st
+++ /dev/null
@@ -1,10 +0,0 @@
-accessing
-redMouseDownAt: point
-
- ^ MouseButtonEvent new
- setType: #mouseDown
- position: point
- which: 2r000 "no change"
- buttons: 2r100 "yellow pressed"
- hand: self hand
- stamp: Time millisecondClockValue
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-Tests.package/SWUITest.class/methodProperties.json b/packages/StatisticsWorkbench-Tests.package/SWUITest.class/methodProperties.json
index 17613094..d6e94791 100644
--- a/packages/StatisticsWorkbench-Tests.package/SWUITest.class/methodProperties.json
+++ b/packages/StatisticsWorkbench-Tests.package/SWUITest.class/methodProperties.json
@@ -10,7 +10,6 @@
"hand" : "FM 6/27/2021 15:43",
"hand:" : "FM 6/27/2021 15:44",
"mouseEnter:" : "FM 6/27/2021 15:45",
- "redMouseDownAt:" : " Nils Urban 6/23/2024 23:53",
"setUp" : "FM 6/27/2021 15:56",
"world" : "FM 6/27/2021 15:44",
"world:" : "FM 6/27/2021 15:44",
diff --git a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/addYAxisValues..st b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/addYAxisValues..st
index cacb1fa4..248363da 100644
--- a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/addYAxisValues..st
+++ b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/addYAxisValues..st
@@ -2,11 +2,11 @@ yAxis-selection
addYAxisValues: aString
| yCollection |
-
yCollection := self getYAxis asOrderedCollection.
yCollection add: aString.
- self setYAxis: yCollection;
- yAxisSelection: self defaultYAxisSelection;
- changed: #getYAxis;
- changed: #isYAxisSelected:;
- changed: #yAxis:setSelected:
\ No newline at end of file
+ self
+ setYAxis: yCollection;
+ yAxisSelection: self defaultYAxisSelection;
+ changed: #getYAxis;
+ changed: #isYAxisSelected:;
+ changed: #yAxis:setSelected:
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/buildTextWith.withAxis..st b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/buildTextWith.withAxis..st
index 49c9c981..29d24560 100644
--- a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/buildTextWith.withAxis..st
+++ b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/buildTextWith.withAxis..st
@@ -2,7 +2,6 @@ building
buildTextWith: aBuilder withAxis: aNumber
| windowContent layoutPosition |
-
windowContent := layoutPosition := nil.
aNumber caseOf: {
[1] -> [windowContent := #buildXAxisLabel.
@@ -17,6 +16,7 @@ buildTextWith: aBuilder withAxis: aNumber
windowContent := #buildXAxisLabel.
layoutPosition := 0.3 @ 0.53 corner: 1 @ 0.15
].
+
^ aBuilder pluggablePanelSpec new
model: self;
children: windowContent;
diff --git a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/checkYValidity.st b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/checkYValidity.st
index 8e2de962..07f4edae 100644
--- a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/checkYValidity.st
+++ b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/checkYValidity.st
@@ -2,7 +2,7 @@ event-handling
checkYValidity
| sizes firstSize |
-
sizes := self parsedYData collect: [:each | each size].
firstSize := sizes first.
+
^ sizes allSatisfy: [:size | size = firstSize]
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/createDiagramFor..st b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/createDiagramFor..st
index 2abca78e..84c37ca5 100644
--- a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/createDiagramFor..st
+++ b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/createDiagramFor..st
@@ -2,7 +2,6 @@ event-handling
createDiagramFor: aChartString
| diagram |
-
diagram := SWDiagram new.
aChartString caseOf: {
['BarChart'] -> [diagram stacked: true].
@@ -10,6 +9,7 @@ createDiagramFor: aChartString
['Normalized BarChart'] -> [diagram stacked: true; normalized: true].
['Normalized AreaChart'] -> [diagram stacked: true; normalized: true].
} otherwise: [].
+
^ diagram
diff --git a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/currentFile.st b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/currentFile.st
deleted file mode 100644
index f4f6c337..00000000
--- a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/currentFile.st
+++ /dev/null
@@ -1,4 +0,0 @@
-csv-file
-currentFile
-
- ^ self stream name asText
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/defaultWindowExtent.st b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/defaultWindowExtent.st
index f2743979..91b96894 100644
--- a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/defaultWindowExtent.st
+++ b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/defaultWindowExtent.st
@@ -1,4 +1,4 @@
default-values
defaultWindowExtent
- ^ 510@330
\ No newline at end of file
+ ^ 510 @ 330
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/editYAxisValues.st b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/editYAxisValues.st
index 9717ae76..f97e2c3e 100644
--- a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/editYAxisValues.st
+++ b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/editYAxisValues.st
@@ -2,22 +2,18 @@ yAxis-selection
editYAxisValues
| value index |
-
index := self yAxisSelection indexOf: true ifAbsent: [0].
index = 0
ifTrue: [self inform: 'Error: Please select one yAxis before!']
- ifFalse: [
- value := 1.
+ ifFalse: [index := 1.
yAxisSelection
- do: [:t4 |
- t4
- ifTrue: [value := UIManager default
- request: 'Enter your y-Axis values (separated by ",")'
- initialAnswer: (self yAxis at: index).
- value isEmpty
- ifFalse: [self yAxis at: index put: value]].
- index := index + 1].
-
+ do: [:t4 | t4
+ ifTrue: [value := UIManager default
+ request: 'Enter your y-Axis values (separated by ",")'
+ initialAnswer: (self yAxis at: index).
+ value isEmpty
+ ifFalse: [self yAxis at: index put: value]].
+ index := index + 1].
self yAxisSelection: self defaultYAxisSelection;
changed: #getYAxis;
changed: #isYAxisSelected:;
diff --git a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/exportIMG..st b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/exportIMG..st
index 20420abb..83baf1d6 100644
--- a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/exportIMG..st
+++ b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/exportIMG..st
@@ -2,7 +2,6 @@ event-handling
exportIMG: aDiagram
| folderPath fileName filePath |
-
folderPath := (FileList2 modalFolderSelector).
folderPath ifNotNil: [
fileName := UIManager default request: 'Enter file name' initialAnswer: 'diagram'.
diff --git a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/initialize.st b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/initialize.st
index fc88ceaa..fb12dd38 100644
--- a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/initialize.st
+++ b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/initialize.st
@@ -2,10 +2,10 @@ initialize-release
initialize
super initialize.
- self xAxis: self defaultXValue;
+ self
+ xAxis: self defaultXValue;
yAxis: self defaultYValue;
namedColumns: self defaultColumns;
chartSelection: self defaultDiagramsSelection;
yAxisSelection: self defaultYAxisSelection;
- selectedTheme: self defaultTheme;
- parsedFile: ''
\ No newline at end of file
+ selectedTheme: self defaultTheme
diff --git a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/isNewFileChosen.st b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/isNewFileChosen.st
deleted file mode 100644
index e9810a19..00000000
--- a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/isNewFileChosen.st
+++ /dev/null
@@ -1,4 +0,0 @@
-csv-file
-isNewFileChosen
-
- ^ (self currentFile = self parsedFile) not
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/openFileChooser.st b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/openFileChooser.st
index 5eee28d9..ba79e572 100644
--- a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/openFileChooser.st
+++ b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/openFileChooser.st
@@ -2,7 +2,6 @@ csv-file
openFileChooser
| fc fileStream |
-
fc := FileChooser new.
fc initializeAsDialogBox.
fileStream := fc open.
diff --git a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/parseCSVData.st b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/parseCSVData.st
index 88811f33..65cc0fa3 100644
--- a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/parseCSVData.st
+++ b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/parseCSVData.st
@@ -11,7 +11,6 @@ parseCSVData
csvReader := SWCSVReader newWith: delimiter first asCharacter and: escapeCharacter first asCharacter.
namedColumns := csvReader getNamedColumns: self stream.
- self parsedFile: self stream name.
"Convert Label values to a single string and set named columns if Label key exists"
(namedColumns includesKey: #Label) ifTrue: [
diff --git a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/parseYData.st b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/parseYData.st
index f567a3cd..2129c983 100644
--- a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/parseYData.st
+++ b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/parseYData.st
@@ -2,7 +2,6 @@ event-handling
parseYData
| yDataCollection |
-
yDataCollection := OrderedCollection new.
self yAxis do: [:each | yDataCollection add: (self splitStringAndConvertToNumbers: each)].
self parsedYData: yDataCollection.
diff --git a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/parsedFile..st b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/parsedFile..st
deleted file mode 100644
index 9f3f1402..00000000
--- a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/parsedFile..st
+++ /dev/null
@@ -1,4 +0,0 @@
-accessing
-parsedFile: aString
-
- parsedFile := aString
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/parsedFile.st b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/parsedFile.st
deleted file mode 100644
index 25ac5e27..00000000
--- a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/parsedFile.st
+++ /dev/null
@@ -1,4 +0,0 @@
-accessing
-parsedFile
-
- ^ parsedFile
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/processInputDataFor..st b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/processInputDataFor..st
index 4b65026e..baa2d41c 100644
--- a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/processInputDataFor..st
+++ b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/processInputDataFor..st
@@ -2,7 +2,6 @@ event-handling
processInputDataFor: aDiagramType
| swdata parsedLabels parsedXData dataCollection |
-
dataCollection := OrderedCollection new.
parsedLabels := self splitStringAndConvertToStrings: self namedColumns.
parsedXData := self splitStringAndConvertToNumbers: self xAxis.
diff --git a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/removeYAxisValues.st b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/removeYAxisValues.st
index fe51243d..4d765d43 100644
--- a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/removeYAxisValues.st
+++ b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/removeYAxisValues.st
@@ -2,7 +2,6 @@ yAxis-selection
removeYAxisValues
| tempCollection index |
-
yAxisSelection isEmpty
ifTrue: [self inform: 'Error: Please add some yAxis values before!'];
ifFalse: [
diff --git a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/selectedTheme..st b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/selectedTheme..st
index c8c79243..e8c3d926 100644
--- a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/selectedTheme..st
+++ b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/selectedTheme..st
@@ -1,3 +1,4 @@
accessing
selectedTheme: aTheme
+
selectedTheme := aTheme
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/showYAxisPopup.st b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/showYAxisPopup.st
index 8c30d47e..d37683a7 100644
--- a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/showYAxisPopup.st
+++ b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/showYAxisPopup.st
@@ -2,6 +2,5 @@ event-handling
showYAxisPopup
| yValues |
-
yValues := UIManager default request: 'Enter your y-Axis values (separated by ",")' initialAnswer: '32, 44, 65, 45, 3'.
self addYAxisValues: yValues
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/splitStringAndConvertToNumbers..st b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/splitStringAndConvertToNumbers..st
index 97062b4e..df1585ea 100644
--- a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/splitStringAndConvertToNumbers..st
+++ b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/splitStringAndConvertToNumbers..st
@@ -2,7 +2,7 @@ event-handling
splitStringAndConvertToNumbers: aString
| numberStrings numbers |
-
numberStrings := aString findTokens: ','.
- numbers := numberStrings collect: [ :each | each withBlanksTrimmed asNumber ].
+ numbers := numberStrings collect: [ :each | each withBlanksTrimmed asNumber].
+
^ numbers
diff --git a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/splitStringAndConvertToStrings..st b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/splitStringAndConvertToStrings..st
index a1d72bfd..9faaab6b 100644
--- a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/splitStringAndConvertToStrings..st
+++ b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/splitStringAndConvertToStrings..st
@@ -2,7 +2,7 @@ event-handling
splitStringAndConvertToStrings: aString
| stringCollection |
-
stringCollection := aString findTokens: ','.
- stringCollection := stringCollection collect: [ :each | each withBlanksTrimmed ].
+ stringCollection := stringCollection collect: [ :each | each withBlanksTrimmed].
+
^ stringCollection
diff --git a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/visualizeCharts.st b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/visualizeCharts.st
index 0094d1af..5981f2c5 100644
--- a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/visualizeCharts.st
+++ b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/instance/visualizeCharts.st
@@ -2,7 +2,6 @@ event-handling
visualizeCharts
| diagram chartType diagramCollection |
-
diagramCollection := OrderedCollection new.
self chartsToVisualize
do: [:each |
@@ -12,4 +11,5 @@ visualizeCharts
visualizeAll: (self processInputDataFor: chartType) with: chartType;
applyColorTheme: (self selectedTheme) new.
diagramCollection add: diagram].
+
^ diagramCollection
\ No newline at end of file
diff --git a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/methodProperties.json b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/methodProperties.json
index b5100a8a..f3d13401 100644
--- a/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/methodProperties.json
+++ b/packages/StatisticsWorkbench-UI.package/SWMainformModel.class/methodProperties.json
@@ -2,14 +2,14 @@
"class" : {
"open" : "s 6/18/2024 20:05" },
"instance" : {
- "addYAxisValues:" : "s 6/30/2024 18:21",
+ "addYAxisValues:" : "JB 7/8/2024 21:23",
"buildChangeYAxisSelectionWith:" : "s 6/30/2024 18:36",
"buildChartSelectionWith:" : "JB 6/12/2024 16:43",
"buildColumnsInputFieldWith:" : "JB 6/12/2024 16:43",
"buildColumnsLabel" : "s 6/30/2024 18:33",
"buildCsvFileSelectionWith:" : "JB 6/12/2024 16:44",
"buildExportPNGButtonWith:" : "JB 6/12/2024 16:44",
- "buildTextWith:withAxis:" : "s 6/30/2024 18:33",
+ "buildTextWith:withAxis:" : "JB 7/8/2024 21:22",
"buildThemeLabel" : "s 6/30/2024 18:32",
"buildThemeSelectionWith:" : "JB 6/12/2024 16:45",
"buildVisualizeButtonWith:" : "JB 6/12/2024 16:45",
@@ -22,55 +22,51 @@
"chartSelection" : "s 6/30/2024 18:10",
"chartSelection:" : "PAR 8/5/2021 14:37",
"chartsToVisualize" : "s 6/11/2024 18:21",
- "checkYValidity" : "s 6/30/2024 18:25",
+ "checkYValidity" : "JB 7/8/2024 21:23",
"cornerStyle" : "s 6/30/2024 18:29",
- "createDiagramFor:" : "s 6/30/2024 18:25",
- "currentFile" : "PAR 5/12/2021 21:42",
+ "createDiagramFor:" : "JB 7/8/2024 21:23",
"defaultColumns" : "JB 6/9/2024 20:31",
"defaultDiagramsSelection" : "s 6/11/2024 18:21",
"defaultTheme" : "JB 6/9/2024 19:43",
- "defaultWindowExtent" : "s 6/30/2024 18:26",
+ "defaultWindowExtent" : "JB 7/8/2024 21:23",
"defaultXValue" : "JB 6/9/2024 20:32",
"defaultYAxisSelection" : "s 6/11/2024 17:36",
"defaultYValue" : "s 6/30/2024 18:24",
- "editYAxisValues" : "s 6/30/2024 18:20",
- "exportIMG:" : "s 6/30/2024 18:25",
+ "editYAxisValues" : "JB 7/8/2024 21:22",
+ "exportIMG:" : "JB 7/8/2024 21:23",
"getAllCharts" : "JB 6/12/2024 15:02",
"getClassForChart:" : "JB 6/12/2024 17:24",
"getYAxis" : "JB 6/12/2024 15:08",
- "initialize" : " Nils Urban 7/8/2024 10:52",
+ "initialize" : "JB 7/8/2024 21:24",
"isDarkSelected" : "s 6/30/2024 18:21",
"isHPISelected" : "s 6/30/2024 18:21",
"isLightSelected" : "s 6/30/2024 18:21",
- "isNewFileChosen" : "PAR 5/28/2021 14:58",
"isSelected:" : "PAR 8/5/2021 18:19",
"isYAxisSelected:" : "s 6/30/2024 18:14",
"namedColumns" : "s 6/30/2024 18:10",
"namedColumns:" : "PAR 8/5/2021 18:23",
"onExportImageButtonClicked" : "JB 6/13/2024 00:44",
"onVisualizeButtonClicked" : "JB 6/13/2024 00:42",
- "openFileChooser" : "s 6/30/2024 18:27",
- "parseCSVData" : "JB 6/21/2024 11:47",
- "parseYData" : "s 6/30/2024 18:46",
- "parsedFile" : "PAR 8/5/2021 14:36",
- "parsedFile:" : "PAR 8/5/2021 14:36",
+ "openFileChooser" : "JB 7/8/2024 21:24",
+ "parseCSVData" : "JB 6/21/2024 15:06",
+ "parseYData" : "JB 7/8/2024 21:24",
"parsedYData" : "s 6/30/2024 18:49",
"parsedYData:" : "JB 6/12/2024 16:23",
- "processInputDataFor:" : "JB 6/12/2024 20:06",
- "removeYAxisValues" : "s 6/30/2024 18:17",
+ "processInputDataFor:" : "JB 7/8/2024 21:24",
+ "removeYAxisValues" : "JB 7/8/2024 21:24",
"selectedTheme" : "JB 6/8/2024 22:28",
- "selectedTheme:" : "s 6/6/2024 17:04",
+ "selectedTheme:" : "JB 7/8/2024 21:24",
"setNamedColumns:" : "s 5/27/2024 22:01",
"setXAxisValues:" : "s 5/27/2024 22:01",
"setYAxis:" : "s 6/30/2024 18:14",
"setYAxisValues:" : "s 5/27/2024 22:01",
- "showYAxisPopup" : "s 6/30/2024 18:26",
- "splitStringAndConvertToNumbers:" : "s 6/30/2024 18:26",
- "splitStringAndConvertToStrings:" : "s 6/30/2024 18:26",
+ "showYAxisPopup" : "JB 7/8/2024 21:24",
+ "splitStringAndConvertToNumbers:" : "JB 7/8/2024 21:24",
+ "splitStringAndConvertToStrings:" : "JB 7/8/2024 21:25",
"stream" : "PAR 8/5/2021 14:36",
"stream:" : "PAR 8/5/2021 14:36",
"updateTheme:" : "s 6/30/2024 18:22",
- "visualizeCharts" : "s 6/30/2024 18:26",
+ "visualizeCharts" : "JB 7/8/2024 21:25",
"xAxis" : "PAR 8/5/2021 14:36",
"xAxis:" : "PAR 8/5/2021 14:36",
"yAxis" : "s 5/29/2024 16:47",