From 90a5b7532a73780bb9b6f9310b2701ea0a14ecf7 Mon Sep 17 00:00:00 2001 From: chiayin Date: Thu, 1 Jun 2023 14:54:39 +0800 Subject: [PATCH] Discover: SidebarFilter Timeframes div & slider done. --- src/components/Discover/Filter/Timeframes.vue | 254 ++---------------- src/components/VueChart.vue | 179 ------------ src/module/timeframes.js | 121 --------- 3 files changed, 20 insertions(+), 534 deletions(-) delete mode 100644 src/components/VueChart.vue delete mode 100644 src/module/timeframes.js diff --git a/src/components/Discover/Filter/Timeframes.vue b/src/components/Discover/Filter/Timeframes.vue index de48c76..190fe23 100644 --- a/src/components/Discover/Filter/Timeframes.vue +++ b/src/components/Discover/Filter/Timeframes.vue @@ -6,9 +6,7 @@ info

Select or fill in a time range.

-
-
@@ -16,10 +14,9 @@
- +
{{ selectArea }}
- total: {{ timeFrameData.length }}
@@ -34,11 +31,8 @@ diff --git a/src/components/VueChart.vue b/src/components/VueChart.vue deleted file mode 100644 index 0397799..0000000 --- a/src/components/VueChart.vue +++ /dev/null @@ -1,179 +0,0 @@ - - - - - - - - - - - - -​ -
- -
-
-
-​ - - - - \ No newline at end of file diff --git a/src/module/timeframes.js b/src/module/timeframes.js deleted file mode 100644 index 8b4075b..0000000 --- a/src/module/timeframes.js +++ /dev/null @@ -1,121 +0,0 @@ -/** - * 將一段時間均分成多段的時間點 - * @param {string} startTime 開始時間(ex:2017-10-05) - * @param {string} endTime 結束時間(ex:2017-10-06) - * @param {number} amount 切分成多少段 - * @returns {array} 均分成多段的時間 array - */ -export function timeRange(minTime, maxTime, amount) { - // x 軸(時間軸)的範圍是最大-最小,從最小值按照 index 累加間距到最大值 - const startTime = Date.parse(minTime)/1000; // 計算開始時間的時間戳記(單位:秒) - const endTime = Date.parse(maxTime)/1000; // 計算結束時間的時間戳記(單位:秒) - const timeRange = []; // return數據初始化 - const timeGap = (endTime - startTime) / (amount - 1); // 切割後的時間間格 - - for (let i = 0; i < amount; i++) { - timeRange.push(startTime + timeGap * i); - } - - return timeRange; - // min: this.timeFrameData[0].x - // max: this.timeFrameData[this.timeFrameData.length-1].x -} -/** - * 將 y 軸的值分割成跟 x 時間軸一樣的等份,使用統計學 R 語言算出貝茲曲線攻勢 - * @param {array} data 切分成多少段 - * @param {number} yAmount 切分成多少段 - * @returns {array} 均分成多段的時間 array - */ -export function yTimeRange(data, yAmount) { - const yRange = []; - - // 貝茲曲線公式 - const threebsr = function (t, a1, a2, a3, a4) { - return ( - (1 - t) * (1 - t) * (1 - t) * a1 + - 3 * t * (1 - t)* (1 - t) * a2 + - 3 * t * t * (1 - t) * a3 + - t * t * t * a4 - ) - } - - // console.log(data); - // y min 切 5 份 - for (let i = 0; i <= 1; i += 0.25) { - yRange.push(threebsr(i, data[0].y, data[0].y, data[1].y, data[1].y)); - } - // console.log(yRange); - - // y middle 每段切 6 份,從 0.1 開始 - for (let j = 1; j < data.length - 2; j++) { - for (let i = 0.1; i <= 1; i += 0.1) { - yRange.push(threebsr(i, data[j].y, data[j].y, data[j+1].y, data[j+1].y)); - } - // console.log(yRange); - } - - // y max - for (let i = 0.2; i <= 1; i += 0.2) { - yRange.push(threebsr(i, data[data.length - 2].y, data[data.length - 2].y, data[data.length - 1].y, data[data.length - 1].y)); - } - // console.log(yRange); - - return yRange; - - // y min - // const yMinPercent = 0.05; - // const yMinGap = (data[1].y-data[0].y) / (yAmount * yMinPercent - 1) ; - // for (let i = 0; i < yAmount * yMinPercent; i++) { - // // yRange.push(data[0].y + yMaxGap * i); - // } - - // // y middle - // const yMiddlePercent = 0.11; - // for (let j = 1; j < data.length - 2; j++) { - // const yMiddleGap = (data[j + 1].y - data[j].y) / (yAmount * yMiddlePercent - 1); - // for (let i = 1; i < yAmount * yMiddlePercent; i++) { - // yRange.push(data[j].y + yMiddleGap * i); - // } - // } - - // // y max - // const yMaxPercent = 0.06; - // const yMaxGap = (data[data.length - 1].y - data[data.length - 2].y) / (yAmount * yMaxPercent - 1); - // for (let i = 1; i < yAmount * yMaxPercent; i++) { - // yRange.push(data[data.length - 2].y + yMaxGap * i); - // } - - // return yRange; - // // data: this.timeFrameData - - // 貝茲曲線公式 - // let threebsr = function (t, a1, a2, a3, a4) { - // return ( - // (1 - t) * (1 - t) * (1 - t) * a1 + - // 3 * t * (1 - t)* (1 - t) * a2 + - // 3 * t * t * (1 - t) * a3 + - // t * t * t * a4 - // ) - // }; - - // y min - // let y = [ - // threebsr(0, 448, 448, 429, 429), - // threebsr(0.1, 448, 448, 429, 429), - // threebsr(0.2, 448, 448, 429, 429), - // threebsr(0.3, 448, 448, 429, 429), - // threebsr(0.4, 448, 448, 429, 429), - // threebsr(0.5, 448, 448, 429, 429), - // threebsr(0.6, 448, 448, 429, 429), - // threebsr(0.7, 448, 448, 429, 429), - // threebsr(0.8, 448, 448, 429, 429), - // threebsr(0.9, 448, 448, 429, 429), - // threebsr(1, 448, 448, 429, 429), - // ] - // let y = [] - // for (let i = 0; i <= 1; i += 0.25) { - // y.push(threebsr(i, 448, 448, 429, 429)); - // } - // console.log(y); - -}