Conformance: Time Trend Chart Scales-y Option done.
This commit is contained in:
@@ -5,9 +5,11 @@ import getMoment from 'moment';
|
||||
* @param {array} baseData 後端給的 10 個時間點
|
||||
* @param {number} xMax 2022-05-23T18:00:00
|
||||
* @param {number} xMin 2022-05-23T08:00:00
|
||||
* @param {number} yMax case
|
||||
* @param {number} yMin case
|
||||
* @returns {array} 可直接套入 chart.js 的 data
|
||||
*/
|
||||
export function setLineChartData(baseData, xMax, xMin) {
|
||||
export function setLineChartData(baseData, xMax, xMin, isPercent, yMax, yMin) {
|
||||
let data = baseData.map(i=>({x:i.x,y:i.y}))
|
||||
// y 軸斜率計算請參考 ./public/timeFrameSlope 的圖
|
||||
// x 值為 0 ~ 11,
|
||||
@@ -23,7 +25,8 @@ export function setLineChartData(baseData, xMax, xMin) {
|
||||
let e = 2;
|
||||
let f = baseData[1].y;
|
||||
b = (e*d - a*d - f*a - f*c) / (e - c - a)
|
||||
b = b > 1 ? 1 : b < 0 ? 0 : b;
|
||||
if(isPercent) b = b >= 1 ? 1 : b <= 0 ? 0 : b;
|
||||
else b = b >= yMax ? yMax : b <= yMin ? yMin : b;
|
||||
|
||||
// y 軸最大值
|
||||
let ma = 9;
|
||||
@@ -33,7 +36,8 @@ export function setLineChartData(baseData, xMax, xMin) {
|
||||
let me = 11;
|
||||
let mf;
|
||||
mf = (mb*me - mb*mc -md*me + md*ma) / (ma - mc);
|
||||
mf = mf > 1 ? 1 : mf < 0 ? 0 : mf;
|
||||
if(isPercent) mf = mf >= 1 ? 1 : mf <= 0 ? 0 : mf;
|
||||
else mf = mf >= yMax ? yMax : mf <= yMin ? yMin : mf;
|
||||
|
||||
// 添加最小值
|
||||
data.unshift({
|
||||
|
||||
Reference in New Issue
Block a user