diff --git a/README.md b/README.md index ad6cd0c0..cbfd3c91 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,16 @@ +

StatisticsWorkbench-Logo

-# 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",