Note
Go to the end to download the full example code.
plot_contour
- optuna.visualization.matplotlib.plot_contour(study, params=None, *, target=None, target_name='Objective Value')[source]
Plot the parameter relationship as contour plot in a study with Matplotlib.
Note that, if a parameter contains missing values, a trial with missing values is not plotted.
See also
Please refer to
optuna.visualization.plot_contour()
for an example.Warning
Output figures of this Matplotlib-based
plot_contour()
function would be different from those of the Plotly-basedplot_contour()
.- Parameters:
study (Study) – A
Study
object whose trials are plotted for their target values.params (list[str] | None) – Parameter list to visualize. The default is all parameters.
target (Callable[[FrozenTrial], float] | None) –
A function to specify the value to display. If it is
None
andstudy
is being used for single-objective optimization, the objective values are plotted.Note
Specify this argument if
study
is being used for multi-objective optimization.target_name (str) – Target’s name to display on the color bar.
- Returns:
A
matplotlib.axes.Axes
object.- Return type:
Note
The colormap is reversed when the
target
argument isn’tNone
ordirection
ofStudy
isminimize
.Note
Added in v2.2.0 as an experimental feature. The interface may change in newer versions without prior notice. See https://github.com/optuna/optuna/releases/tag/v2.2.0.
The following code snippet shows how to plot the parameter relationship as contour plot.
/home/docs/checkouts/readthedocs.org/user_builds/optuna/checkouts/stable/docs/visualization_matplotlib_examples/optuna.visualization.matplotlib.contour.py:25: ExperimentalWarning:
plot_contour is experimental (supported from v2.2.0). The interface can change in the future.
<Axes: title={'center': 'Contour Plot'}, xlabel='x', ylabel='y'>
import optuna
def objective(trial):
x = trial.suggest_float("x", -100, 100)
y = trial.suggest_categorical("y", [-1, 0, 1])
return x**2 + y
sampler = optuna.samplers.TPESampler(seed=10)
study = optuna.create_study(sampler=sampler)
study.optimize(objective, n_trials=30)
optuna.visualization.matplotlib.plot_contour(study, params=["x", "y"])
Total running time of the script: (0 minutes 0.397 seconds)