From ccb2aee3d212a07c2bc0fd725df9714e3d989474 Mon Sep 17 00:00:00 2001 From: Harman Waseer <2403hwaseer@gmail.com> Date: Fri, 12 Mar 2021 14:08:14 +0530 Subject: [PATCH] Adapt Graph Contour to MultiObjective --- .../static/components/GraphContour.tsx | 35 +++++++++++++++---- .../static/components/StudyDetail.tsx | 4 +-- 2 files changed, 31 insertions(+), 8 deletions(-) diff --git a/optuna_dashboard/static/components/GraphContour.tsx b/optuna_dashboard/static/components/GraphContour.tsx index 83873ec7..c3289d51 100644 --- a/optuna_dashboard/static/components/GraphContour.tsx +++ b/optuna_dashboard/static/components/GraphContour.tsx @@ -3,6 +3,7 @@ import React, { ChangeEvent, FC, useEffect, useState } from "react" import { Grid, FormControl, + FormLabel, InputLabel, MenuItem, Select, @@ -21,8 +22,9 @@ const useStyles = makeStyles((theme: Theme) => ) export const GraphContour: FC<{ - trials: Trial[] -}> = ({ trials = [] }) => { + study: StudyDetail | null +}> = ({ study = null }) => { + const trials: Trial[] = study !== null ? study.trials : [] const filteredTrials = trials.filter( (t) => t.state === "Complete" || t.state === "Pruned" ) @@ -37,9 +39,16 @@ export const GraphContour: FC<{ const paramnames = Array.from(paramNames) const classes = useStyles() + const [objectiveId, setObjectiveId] = useState(0) const [xAxis, setXAxis] = useState(paramnames[0]) const [yAxis, setYAxis] = useState(paramnames[1]) + const handleObjectiveChange = ( + event: React.ChangeEvent<{ value: unknown }> + ) => { + setObjectiveId(event.target.value as number) + } + const handleXAxisChange = (e: ChangeEvent<{ value: unknown }>) => { setXAxis(e.target.value as string) } @@ -49,15 +58,27 @@ export const GraphContour: FC<{ } useEffect(() => { - if (trials != null) { - plotContour(trials, 0, xAxis, yAxis) + if (study !== null) { + plotContour(study, objectiveId, xAxis, yAxis) } - }, [trials, xAxis, yAxis]) + }, [study, objectiveId, xAxis, yAxis]) return ( + {study !== null && study.directions.length !== 1 ? ( + + Objective ID: + + + ) : null} X Axis Parameter