diff --git a/frontend/mock/data/plugin/embeddings/embeddings.js b/frontend/mock/data/plugin/embeddings/embeddings.js index 790ac8199d7efe35fe9df6173ee618385fd74250..5520652736b190e3a703991ccc370c5d974f578c 100644 --- a/frontend/mock/data/plugin/embeddings/embeddings.js +++ b/frontend/mock/data/plugin/embeddings/embeddings.js @@ -6,31 +6,86 @@ * @param {Object} postParam post params * @return {Object} */ -module.exports = function (path, queryParam, postParam) { - return { - // moock delay - _timeout: 0, - // mock http status - _status: 200, - // mock response data - _data: { - status: 0, - msg: 'SUCCESS', - data: { - "embedding": [ - [10.0, 8.04, "yellow"], - [8.0, 6.95, "blue"], - [13.0, 7.58, "red"], - [9.0, 8.81, "king"], - [11.0, 8.33, "queen"], - [14.0, 9.96, "man"], - [6.0, 7.24, "women"], - [4.0, 4.26, "kid"], - [12.0, 10.84, "adult"], - [7.0, 4.82, "light"], - [5.0, 5.68, "dark"] - ] +module.exports = function(path, queryParam, postParam) { + if (queryParam.dimension === '3') { + return { + // moock delay + _timeout: 0, + // mock http status + _status: 200, + // mock response data + _data: { + status: 0, + msg: 'SUCCESS', + data: { + "embedding": [ + [10.0, 8.04, 3], + [8.0, 6.95, 4], + [13.0, 7.58, 1], + [9.0, 8.81, 3], + [11.0, 8.33, 5], + [14.0, 9.96, 6], + [6.0, 7.24, 1], + [4.0, 4.26, 2], + [12.0, 10.84, 6], + [7.0, 4.8, 3], + [5.0, 5.68, 3] + ], + "labels": [ + "yellow", + "blue", + "red", + "king", + "queen", + "man", + "women", + "kid", + "adult", + "light", + "dark" + ] + } } - } - }; + }; + } else { + return { + // moock delay + _timeout: 0, + // mock http status + _status: 200, + // mock response data + _data: { + status: 0, + msg: 'SUCCESS', + data: { + "embedding": [ + [10.0, 8.04], + [8.0, 6.95], + [13.0, 7.58], + [9.0, 8.81], + [11.0, 8.33], + [14.0, 9.96], + [6.0, 7.24], + [4.0, 4.26], + [12.0, 10.84], + [7.0, 4.8], + [5.0, 5.68] + ], + "labels": [ + "yellow", + "blue", + "red", + "king", + "queen", + "man", + "women", + "kid", + "adult", + "light", + "dark" + ] + } + } + }; + } }; diff --git a/frontend/package.json b/frontend/package.json index f90218c19700a8063ce6e99320b3187e0bcd0f17..f4de1974ed027f7109d311a43802af00b513991c 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -20,7 +20,8 @@ "d3-format": "^1.2.1", "dagre": "^0.8.2", "dagre-d3": "^0.6.1", - "echarts": "^3.8.5", + "echarts": "^4.0.0", + "echarts-gl": "^1.1.0", "file-saver": "^1.3.3", "graphlib": "^1.0.5", "htmlcs": "^0.4.1", diff --git a/frontend/src/high-dimensional/HighDimensional.vue b/frontend/src/high-dimensional/HighDimensional.vue index 1e608efd167735d3f04798e91cd45729d9717f24..a816e8d6f16e9b949af09d89a96e9c5c2fee9780 100644 --- a/frontend/src/high-dimensional/HighDimensional.vue +++ b/frontend/src/high-dimensional/HighDimensional.vue @@ -5,6 +5,7 @@ :config="config" :displayWordLabel="config.displayWordLabel" :searchText="config.searchText" + :dimension="config.dimension" :embedding_data="embedding_data" > @@ -35,20 +36,45 @@ export default { config: { searchText: '', displayWordLabel: true, + dimension: "2", + reduction: "tsne", running: true }, embedding_data: [] } }, created() { - getHighDimensionalDatasets().then(({errno, data}) => { - this.embedding_data = data.embedding; - }); + this.fetchDatasets() + }, + watch: { + 'config.dimension': function(val) { + this.fetchDatasets() + }, + 'config.reduction': function(val) { + this.fetchDatasets() + } }, mounted() { autoAdjustHeight(); }, methods: { + fetchDatasets() { + // Fetch the data from the server. Passing dimension and reduction method + let params = { + dimension: this.config.dimension, + reduction: this.config.reduction + }; + getHighDimensionalDatasets(params).then(({errno, data}) => { + var vector_data = data.embedding; + var labels = data.labels; + + for ( var i = 0; i < vector_data.length; i ++) { + vector_data[i].push(labels[i]) + } + + this.embedding_data = vector_data + }); + }, } }; diff --git a/frontend/src/high-dimensional/ui/Chart.vue b/frontend/src/high-dimensional/ui/Chart.vue index b8ad8cdf5610934f283aa7bcc24d96ccfe5597e7..365e3e8bb2c02641d1bc71b94cbdf24aa64634c8 100644 --- a/frontend/src/high-dimensional/ui/Chart.vue +++ b/frontend/src/high-dimensional/ui/Chart.vue @@ -7,9 +7,10 @@