Example: Optimizer
Load the files
[1]:
from opal import load_dataset, filetype
dsets = load_dataset('../../tests/json-reader/data/', ftype=filetype.OPTIMIZER)
Found 99 json files from 1 optimizers and 0 pareto front files
Set the plotting style
[2]:
from opal.visualization.styles import load_style
load_style('jupyter')
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
Cell In[2], line 3
1 from opal.visualization.styles import load_style
----> 3 load_style('jupyter')
File ~/pyOPALTools/opal/visualization/styles/load_style.py:31, in load_style(use)
29 from opal.utilities.logger import opal_logger
30 opal_logger.info("Loading '" + use + "' plotting style")
---> 31 eval(use + '()')
File <string>:1
File ~/pyOPALTools/opal/visualization/styles/jupyter.py:31, in jupyter()
29 # reset
30 from opal.visualization.styles.default import default
---> 31 default()
33 if mpl.__version__ < '2':
34 opal_logger.error('jupyter style not available for matplotlib version ' + mpl.__version__)
File ~/pyOPALTools/opal/visualization/styles/default.py:38, in default()
36 mpl.rcParams['lines.linestyle'] = '-' # solid line
37 mpl.rcParams['lines.color'] = 'C0' # has no affect on plot(); see axes.prop_cycle
---> 38 mpl.rcParams['lines.marker'] = None # the default marker
39 mpl.rcParams['lines.markeredgewidth'] = 1.0 # the line width around the marker symbol
40 mpl.rcParams['lines.markersize'] = 6 # markersize, in points
File /usr/local/lib/python3.8/dist-packages/matplotlib/__init__.py:722, in RcParams.__setitem__(self, key, val)
720 cval = self.validate[key](val)
721 except ValueError as ve:
--> 722 raise ValueError(f"Key {key}: {ve}") from None
723 self._set(key, cval)
724 except KeyError as err:
ValueError: Key lines.marker: Could not convert None to str
Do some plotting …
[3]:
dsets.plot_parallel_coordinates(1)
Install plotly: pip install plotly
---------------------------------------------------------------------------
UnboundLocalError Traceback (most recent call last)
Cell In[3], line 1
----> 1 dsets.plot_parallel_coordinates(1)
File ~/pyOPALTools/opal/visualization/OptimizerPlotter.py:134, in OptimizerPlotter.plot_parallel_coordinates(self, gen, opt, **kwargs)
127 obj_dimension = self.__sort_list(obj_names,
128 obj_dimension,
129 'label')
131 dimension = dvar_dimension + obj_dimension
133 data = [
--> 134 go.Parcoords(
135 line = dict(color = ids,
136 colorscale = 'Jet',
137 showscale = True,
138 reversescale = True,
139 cmin = min(ids),
140 cmax = max(ids)),
141 dimensions = dimension
142 )
143 ]
145 layout = go.Layout(
146 height=800,
147 width=1600,
148 font=dict(size=18),
149 title = 'Generation ' + str(gen)
150 )
152 fig = go.Figure(data = data, layout = layout)
UnboundLocalError: local variable 'go' referenced before assignment
[4]:
plt = dsets.plot_objectives(yscale='log')
plt.show()
[5]:
plt = dsets.plot_objective_evolution(op=min)
plt.show()
[6]:
plt = dsets.plot_dvar_evolution(op=min, dvar='prinit')
plt.show()
[7]:
value, gen, ind = dsets.find_minimum()
print ( value, gen, ind)
dsets.print_individual(gen=gen, ind=ind)
12.11458 37 53
Design variables:
benergy 0.0715532
phiinit 110.588
prinit -0.0124705
rinit 2053.47
Objectives:
dpeak1 4.33
dpeak2 0.87
dpeak3_5 6.91458