From 64d55efa99295054760232ab5eac60a7129a9702 Mon Sep 17 00:00:00 2001 From: "tom.mansion" Date: Fri, 4 Aug 2023 15:36:23 +0200 Subject: [PATCH 1/9] Added widget --- .../widgets/NightStarsPlot/NightStarsPLot.vue | 468 ++++++++++++++++++ .../widgets/NightStarsPlot/configuration.json | 7 + .../widgets/NightStarsPlot/guide.md | 3 + .../widgets/NightStarsPlot/icon.png | Bin 0 -> 6652 bytes 4 files changed, 478 insertions(+) create mode 100644 frontend/src/components/debiai/statistics/dataAnalysis/widgets/NightStarsPlot/NightStarsPLot.vue create mode 100644 frontend/src/components/debiai/statistics/dataAnalysis/widgets/NightStarsPlot/configuration.json create mode 100644 frontend/src/components/debiai/statistics/dataAnalysis/widgets/NightStarsPlot/guide.md create mode 100644 frontend/src/components/debiai/statistics/dataAnalysis/widgets/NightStarsPlot/icon.png diff --git a/frontend/src/components/debiai/statistics/dataAnalysis/widgets/NightStarsPlot/NightStarsPLot.vue b/frontend/src/components/debiai/statistics/dataAnalysis/widgets/NightStarsPlot/NightStarsPLot.vue new file mode 100644 index 000000000..38621cf97 --- /dev/null +++ b/frontend/src/components/debiai/statistics/dataAnalysis/widgets/NightStarsPlot/NightStarsPLot.vue @@ -0,0 +1,468 @@ + + + + + diff --git a/frontend/src/components/debiai/statistics/dataAnalysis/widgets/NightStarsPlot/configuration.json b/frontend/src/components/debiai/statistics/dataAnalysis/widgets/NightStarsPlot/configuration.json new file mode 100644 index 000000000..2bdb90991 --- /dev/null +++ b/frontend/src/components/debiai/statistics/dataAnalysis/widgets/NightStarsPlot/configuration.json @@ -0,0 +1,7 @@ +{ + "name": "Night stars plot", + "description": "Standard deviation of categorical in a 2D plot", + "layout": { + "height": 6 + } +} \ No newline at end of file diff --git a/frontend/src/components/debiai/statistics/dataAnalysis/widgets/NightStarsPlot/guide.md b/frontend/src/components/debiai/statistics/dataAnalysis/widgets/NightStarsPlot/guide.md new file mode 100644 index 000000000..b52e17556 --- /dev/null +++ b/frontend/src/components/debiai/statistics/dataAnalysis/widgets/NightStarsPlot/guide.md @@ -0,0 +1,3 @@ +# Night Stars Plot + + \ No newline at end of file diff --git a/frontend/src/components/debiai/statistics/dataAnalysis/widgets/NightStarsPlot/icon.png b/frontend/src/components/debiai/statistics/dataAnalysis/widgets/NightStarsPlot/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..dec72351bc664f2bcb5fee994a9f59d8a55e6d15 GIT binary patch literal 6652 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 Date: Fri, 4 Aug 2023 15:54:45 +0200 Subject: [PATCH 2/9] Typo correction --- frontend/cspell.json | 29 ++++ .../statistics/dataAnalysis/widget/Widget.vue | 4 +- .../ConfusionMatrix/ConfusionMatrix.vue | 18 +- .../CorrelationMatrix/CorrelationMatrix.vue | 10 +- .../DistributionPlot/DistributionPlot.vue | 26 +-- .../widgets/IntervalPlot/IntervalPlot.vue | 22 +-- .../widgets/NightStarsPlot/NightStarsPLot.vue | 159 ++++++------------ .../ParallelCategories/ParallelCategories.vue | 14 +- .../ParallelCoordinate/ParallelCoordinate.vue | 8 +- .../widgets/PointPlot/PointPlot.vue | 80 ++++----- .../widgets/PointPlot3D/PointPlot3D.vue | 28 +-- .../RangesliderPlot/RangesliderPlot.vue | 30 ++-- .../widgets/SampleArray/SampleArray.vue | 2 +- .../widgets/Statistics/Statistics.vue | 2 +- .../WidgetTemplateFull/WidgetTemplateFull.vue | 4 +- 15 files changed, 200 insertions(+), 236 deletions(-) create mode 100644 frontend/cspell.json diff --git a/frontend/cspell.json b/frontend/cspell.json new file mode 100644 index 000000000..f12d241a5 --- /dev/null +++ b/frontend/cspell.json @@ -0,0 +1,29 @@ +{ + "version": "0.2", + "language": "en", + "words": [ + "cmax", + "cmin", + "colorscale", + "confianceai", + "Debi", + "DebiAI", + "groundtruth", + "irtsysx", + "rgba", + "showscale", + "systemx", + "websrv", + "xaxis", + "yaxis" + ], + "flagWords": [], + "ignorePaths": [ + "*.svg", + "*.xml", + "*.bat", + "node_modules/", + "build/", + ".vscode/" + ] +} diff --git a/frontend/src/components/debiai/statistics/dataAnalysis/widget/Widget.vue b/frontend/src/components/debiai/statistics/dataAnalysis/widget/Widget.vue index 8bb265960..b300ad863 100644 --- a/frontend/src/components/debiai/statistics/dataAnalysis/widget/Widget.vue +++ b/frontend/src/components/debiai/statistics/dataAnalysis/widget/Widget.vue @@ -348,7 +348,7 @@ export default { this.$on("loading", (loading) => (this.loading = loading)); this.$on("errorMessage", this.errorMessage); this.$on("setExport", this.setExport); - this.$on("drawed", this.drawed); + this.$on("drawn", this.drawn); this.timeout = null; this.name = this.title; }, @@ -485,7 +485,7 @@ export default { }); this.$emit("filterCleared"); }, - drawed() { + drawn() { this.selectedDataWarning = false; // The plot has been drawn, we can save a copy of the local filters diff --git a/frontend/src/components/debiai/statistics/dataAnalysis/widgets/ConfusionMatrix/ConfusionMatrix.vue b/frontend/src/components/debiai/statistics/dataAnalysis/widgets/ConfusionMatrix/ConfusionMatrix.vue index 698fa6e7a..acf11fa75 100644 --- a/frontend/src/components/debiai/statistics/dataAnalysis/widgets/ConfusionMatrix/ConfusionMatrix.vue +++ b/frontend/src/components/debiai/statistics/dataAnalysis/widgets/ConfusionMatrix/ConfusionMatrix.vue @@ -99,7 +99,7 @@ @@ -137,10 +137,10 @@ export default { // Settings settings: true, - plotDrawed: false, + plotDrawn: false, trueAxisSelection: false, predAxisSelection: false, - currentDrawedColorIndex: null, + currentDrawnColorIndex: null, }; }, props: { @@ -260,7 +260,7 @@ export default { matrixList.push(this.fillMatrix(allUniques, colorTruth, colorPred)); }); - this.currentDrawedColorIndex = this.coloredColumnIndex; + this.currentDrawnColorIndex = this.coloredColumnIndex; } this.drawMatrix(matrixList, allUniques); console.timeEnd("ConfusionMatrix"); @@ -417,8 +417,8 @@ export default { responsive: true, }); - this.matrixDrawed = true; - this.$parent.$emit("drawed"); + this.matrixDrawn = true; + this.$parent.$emit("drawn"); // Set the filter events this.divConfusionMatrix.removeListener("plotly_click", this.selectDataOnPlot); @@ -434,12 +434,12 @@ export default { xAxiesSelect(index) { this.columnTindex = index; this.trueAxisSelection = false; - this.plotDrawed = false; + this.plotDrawn = false; }, yAxiesSelect(index) { this.columnPindex = index; this.predAxisSelection = false; - this.plotDrawed = false; + this.plotDrawn = false; }, swap() { let temp = this.columnPindex; @@ -561,7 +561,7 @@ export default { return this.$store.state.StatisticalAnalysis.coloredColumnIndex; }, redrawRequiered() { - return !(this.dividePerColor && this.currentDrawedColorIndex !== this.coloredColumnIndex); + return !(this.dividePerColor && this.currentDrawnColorIndex !== this.coloredColumnIndex); }, }, watch: { diff --git a/frontend/src/components/debiai/statistics/dataAnalysis/widgets/CorrelationMatrix/CorrelationMatrix.vue b/frontend/src/components/debiai/statistics/dataAnalysis/widgets/CorrelationMatrix/CorrelationMatrix.vue index 092b1fccd..79b8c6ab8 100644 --- a/frontend/src/components/debiai/statistics/dataAnalysis/widgets/CorrelationMatrix/CorrelationMatrix.vue +++ b/frontend/src/components/debiai/statistics/dataAnalysis/widgets/CorrelationMatrix/CorrelationMatrix.vue @@ -116,7 +116,7 @@ export default { // Settings settings: true, significativOnly: false, - matrixDrawed: false, + matrixDrawn: false, axisSelection: false, selectedMatrixType: "pearson", error: false, @@ -152,7 +152,7 @@ export default { .filter((c) => c.nbOccu > 1); this.axisSelection = false; - this.matrixDrawed = false; + this.matrixDrawn = false; this.calculate(); }, @@ -270,8 +270,8 @@ export default { responsive: true, }); - this.$parent.$emit("drawed"); - this.matrixDrawed = true; + this.$parent.$emit("drawn"); + this.matrixDrawn = true; }, // Export @@ -285,7 +285,7 @@ export default { this.$parent.$emit("loading", this.loading); }, selectedData() { - this.matrixDrawed = false; + this.matrixDrawn = false; this.$parent.selectedDataWarning = true; }, significativOnly() { diff --git a/frontend/src/components/debiai/statistics/dataAnalysis/widgets/DistributionPlot/DistributionPlot.vue b/frontend/src/components/debiai/statistics/dataAnalysis/widgets/DistributionPlot/DistributionPlot.vue index 8d720e0fc..db340b9d2 100644 --- a/frontend/src/components/debiai/statistics/dataAnalysis/widgets/DistributionPlot/DistributionPlot.vue +++ b/frontend/src/components/debiai/statistics/dataAnalysis/widgets/DistributionPlot/DistributionPlot.vue @@ -185,7 +185,7 @@ type="number" v-model="bins" :min="1" - @change="plotDrawed = false" + @change="plotDrawn = false" /> @@ -197,7 +197,7 @@ id="drawBtn" type="submit" @click="checkPlot" - :disabled="plotDrawed" + :disabled="plotDrawn" > Draw @@ -241,10 +241,10 @@ export default { bins: 0, // Other - plotDrawed: false, + plotDrawn: false, xAxisSelection: false, secondAxisSelection: false, - currentDrawedColorIndex: null, + currentDrawnColorIndex: null, }; }, props: { @@ -538,9 +538,9 @@ export default { displayModeBar: false, responsive: true, }); - this.currentDrawedColorIndex = this.coloredColumnIndex; - this.plotDrawed = true; - this.$parent.$emit("drawed"); + this.currentDrawnColorIndex = this.coloredColumnIndex; + this.plotDrawn = true; + this.$parent.$emit("drawn"); // Set selection events this.divRepPlot.removeListener("plotly_click", this.selectDataOnPlot); @@ -549,7 +549,7 @@ export default { clearPlot() { Plotly.purge(this.divRepPlot); - this.plotDrawed = false; + this.plotDrawn = false; }, // Filters @@ -587,9 +587,9 @@ export default { if (this.coloredColumnIndex != null && this.dividePerColor) { filters.push({ type: "values", - columnIndex: this.currentDrawedColorIndex, + columnIndex: this.currentDrawnColorIndex, values: [ - "" + this.data.columns[this.currentDrawedColorIndex].uniques[selec.curveNumber], + "" + this.data.columns[this.currentDrawnColorIndex].uniques[selec.curveNumber], ], }); } @@ -641,7 +641,7 @@ export default { return this.$store.state.StatisticalAnalysis.coloredColumnIndex; }, redrawRequiered() { - return !(this.currentDrawedColorIndex !== this.coloredColumnIndex); + return !(this.currentDrawnColorIndex !== this.coloredColumnIndex); }, }, watch: { @@ -655,10 +655,10 @@ export default { this.checkPlot(); }, selectedData: function () { - if (!this.$parent.startFiltering && this.plotDrawed) this.$parent.selectedDataWarning = true; + if (!this.$parent.startFiltering && this.plotDrawn) this.$parent.selectedDataWarning = true; }, coloredColumnIndex: function () { - this.plotDrawed = false; + this.plotDrawn = false; }, redrawRequiered(o, n) { this.$parent.colorWarning = n; diff --git a/frontend/src/components/debiai/statistics/dataAnalysis/widgets/IntervalPlot/IntervalPlot.vue b/frontend/src/components/debiai/statistics/dataAnalysis/widgets/IntervalPlot/IntervalPlot.vue index 655b30865..266aab7ee 100644 --- a/frontend/src/components/debiai/statistics/dataAnalysis/widgets/IntervalPlot/IntervalPlot.vue +++ b/frontend/src/components/debiai/statistics/dataAnalysis/widgets/IntervalPlot/IntervalPlot.vue @@ -127,7 +127,7 @@ class="customCbx" v-model="smooth" style="display: none" - @click="intervalPlotDrawed = false" + @click="intervalPlotDrawn = false" />