Commit 3b942f2c authored by v-liguo's avatar v-liguo
Browse files

Fix bug of optimization curve when trial sequenceId is not continuously

parent f23f8a06
...@@ -37,8 +37,8 @@ class DefaultPoint extends React.Component<DefaultPointProps, DefaultPointState> ...@@ -37,8 +37,8 @@ class DefaultPoint extends React.Component<DefaultPointProps, DefaultPointState>
defaultMetric = (succeedSource: Array<TableObj>, isCurve: boolean) => { defaultMetric = (succeedSource: Array<TableObj>, isCurve: boolean) => {
const { optimize } = this.props; const { optimize } = this.props;
const accSource: Array<DetailAccurPoint> = []; const accSource: Array<DetailAccurPoint> = [];
const showSource: Array<TableObj> = succeedSource.filter(filterByStatus); const drawSource: Array<TableObj> = succeedSource.filter(filterByStatus);
const lengthOfSource = showSource.length; const lengthOfSource = drawSource.length;
const tooltipDefault = lengthOfSource === 0 ? 'No data' : ''; const tooltipDefault = lengthOfSource === 0 ? 'No data' : '';
if (this._isDefaultMounted === true) { if (this._isDefaultMounted === true) {
this.setState(() => ({ this.setState(() => ({
...@@ -67,13 +67,14 @@ class DefaultPoint extends React.Component<DefaultPointProps, DefaultPointState> ...@@ -67,13 +67,14 @@ class DefaultPoint extends React.Component<DefaultPointProps, DefaultPointState>
} }
} else { } else {
const resultList: Array<number | object>[] = []; const resultList: Array<number | object>[] = [];
const lineListDefault: Array<number> = []; // lineListDefault: [[sequenceId, default metric], []]
Object.keys(showSource).map(item => { const lineListDefault: Array<number>[] = [];
const temp = showSource[item]; Object.keys(drawSource).map(item => {
const temp = drawSource[item];
if (temp.acc !== undefined) { if (temp.acc !== undefined) {
if (temp.acc.default !== undefined) { if (temp.acc.default !== undefined) {
const searchSpace = temp.description.parameters; const searchSpace = temp.description.parameters;
lineListDefault.push(temp.acc.default); lineListDefault.push([temp.sequenceId, temp.acc.default]);
accSource.push({ accSource.push({
acc: temp.acc.default, acc: temp.acc.default,
index: temp.sequenceId, index: temp.sequenceId,
...@@ -84,25 +85,25 @@ class DefaultPoint extends React.Component<DefaultPointProps, DefaultPointState> ...@@ -84,25 +85,25 @@ class DefaultPoint extends React.Component<DefaultPointProps, DefaultPointState>
}); });
// deal with best metric line // deal with best metric line
const bestCurve: Array<number | object>[] = []; // best curve data source const bestCurve: Array<number | object>[] = []; // best curve data source
bestCurve.push([0, lineListDefault[0], accSource[0].searchSpace]); // push the first value bestCurve.push([lineListDefault[0][0], lineListDefault[0][1], accSource[0].searchSpace]);
if (optimize === 'maximize') { if (optimize === 'maximize') {
for (let i = 1; i < lineListDefault.length; i++) { for (let i = 1; i < lineListDefault.length; i++) {
const val = lineListDefault[i]; const val = lineListDefault[i][1];
const latest = bestCurve[bestCurve.length - 1][1]; const latest = bestCurve[bestCurve.length - 1][1];
if (val >= latest) { if (val >= latest) {
bestCurve.push([i, val, accSource[i].searchSpace]); bestCurve.push([lineListDefault[i][0], val, accSource[i].searchSpace]);
} else { } else {
bestCurve.push([i, latest, accSource[i].searchSpace]); bestCurve.push([lineListDefault[i][0], latest, accSource[i].searchSpace]);
} }
} }
} else { } else {
for (let i = 1; i < lineListDefault.length; i++) { for (let i = 1; i < lineListDefault.length; i++) {
const val = lineListDefault[i]; const val = lineListDefault[i][1];
const latest = bestCurve[bestCurve.length - 1][1]; const latest = bestCurve[bestCurve.length - 1][1];
if (val <= latest) { if (val <= latest) {
bestCurve.push([i, val, accSource[i].searchSpace]); bestCurve.push([lineListDefault[i][0], val, accSource[i].searchSpace]);
} else { } else {
bestCurve.push([i, latest, accSource[i].searchSpace]); bestCurve.push([lineListDefault[i][0], latest, accSource[i].searchSpace]);
} }
} }
} }
...@@ -165,15 +166,30 @@ class DefaultPoint extends React.Component<DefaultPointProps, DefaultPointState> ...@@ -165,15 +166,30 @@ class DefaultPoint extends React.Component<DefaultPointProps, DefaultPointState>
type: 'value', type: 'value',
scale: true scale: true
}, },
series: [{ series: [
{
symbolSize: 6, symbolSize: 6,
type: 'scatter', type: 'scatter',
data: resultList data: resultList
}, { },
{
type: 'line', type: 'line',
lineStyle: { color: '#FF6600' }, lineStyle: { color: '#FF6600' },
data: realDefault data: realDefault
}] }
]
// series: [
// {
// type: 'line',
// lineStyle: { color: '#FF6600' },
// data: realDefault
// },
// {
// symbolSize: 6,
// type: 'scatter',
// data: resultList
// }
// ]
}; };
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment