Source code for pyleecan.Methods.Output.Output.plot.plot_A_surf

# -*- coding: utf-8 -*-

from .....Functions.Plot.plot_A_surf import plot_A_surf as plot_A_surf_fct
from .....Functions.init_fig import init_fig
from SciDataTool import VectorField

from matplotlib.pyplot import subplots


[docs]def plot_A_surf( self, Data_str, is_deg=True, t_max=None, a_max=400, z_min=None, z_max=None, is_norm=False, unit="SI", colormap=None, save_path=None, component_list=None, ): """Plots the isosurface of a field in 3D Parameters ---------- self : Output an Output object Data_str : str name of the Data Object to plot (e.g. "mag.Br") is_deg : bool boolean indicating if the angle must be converted to degrees t_max : float maximum value of the time for the x axis a_max : float maximum value of the angle for the y axis z_min : float minimum value of the amplitude for the z axis z_max : float maximum value of the amplitude for the z axis is_norm : bool boolean indicating if the field must be normalized unit : str unit in which to plot the field colormap : colormap object colormap prescribed by user save_path : str path and name of the png file to save component_list : list list of component names to plot in separate figures """ # Get Data object name phys = getattr(self, Data_str.split(".")[0]) data = getattr(phys, Data_str.split(".")[1]) # Call the plot function if isinstance(data, VectorField): if component_list is None: # default: extract all components component_list = data.components.keys() ncomp = len(component_list) fig, axs = subplots( 1, ncomp, tight_layout=True, figsize=(20, 10), subplot_kw=dict(projection="3d"), ) for i, comp in enumerate(component_list): plot_A_surf_fct( data.components[comp], is_deg=is_deg, t_max=t_max, a_max=a_max, z_min=z_min, z_max=z_max, is_norm=is_norm, unit=unit, colormap=colormap, save_path=save_path, fig=fig, subplot_index=i, ) else: (fig, axes, patch_leg, label_leg) = init_fig( None, shape="rectangle", is_3d=True ) plot_A_surf_fct( data, is_deg=is_deg, t_max=t_max, a_max=a_max, z_min=z_min, z_max=z_max, is_norm=is_norm, unit=unit, colormap=colormap, save_path=save_path, fig=fig, ) fig.show()