docs: def plot_style(fig, ax,  # pylint: disable=too-many-arguments, too-many-locals
                 # plot_title
                 pretitle='',
                 title='Figure',
                 posttitle='',
                 title_fontsize=14,
                 title_arg=None,
                 # plot_labels
                 label_fontsize=14,
                 xlabel=None,
                 xlabel_arg=None,
                 ylabel=None,
                 ylabel_arg=None,
                 zlabel=None,
                 zlabel_arg=None,
                 # plot_ticks
                 tick_fontsize=12,
                 xticks=None,
                 xticks_args=None,
                 yticks=None,
                 yticks_args=None,
                 zticks=None,
                 zticks_args=None,
                 # update_plot_limits
                 white_space=30,
                 # plot_legend
                 no_legend=True,
                 legend_arg=None,
                 # internal
                 no_axes=False,
                 aspect_ratio='equal',
                 tight=False,
                 **_):
      """Set the basic options of a matplotlib figure, to be used by viewing - plotting functions
  
      Args:
          fig(matplotlib figure): figure
          ax(matplotlib axes, belonging to `fig`): axes
  
          pretitle(str): String to include before the general title of the figure
          posttitle (str): String to include after the general title of the figure
          title (str): Set the title for the figure
          title_fontsize (int): Defines the size of the title's font
          title_arg (dict): Addition arguments for matplotlib.title() call
  
          label_fontsize(int): Size of the labels' font
          xlabel(str): The xlabel for the figure
          xlabel_arg(dict):  Passsed into matplotlib as xlabel arguments
          ylabel(str): The ylabel for the figure
          ylabel_arg(dict):  Passsed into matplotlib as ylabel arguments
          zlabel(str): The zlabel for the figure
          zlabel_arg(dict):  Passsed into matplotlib as zlabel arguments
  
          tick_fontsize (int): Defines the size of the ticks' font
          xticks([list of ticks]): Defines the values of x ticks in the figure
          xticks_args(dict):  Passsed into matplotlib as xticks arguments
          yticks([list of ticks]): Defines the values of y ticks in the figure
          yticks_args(dict):  Passsed into matplotlib as yticks arguments
          zticks([list of ticks]): Defines the values of z ticks in the figure
          zticks_args(dict):  Passsed into matplotlib as zticks arguments
  
          white_space(float): whitespace added to surround the tight limit of the data
  
          no_legend (bool): Defines the presence of a legend in the figure
          legend_arg (dict): Addition arguments for matplotlib.legend() call
  
          no_axes(bool): If True the labels and the frame will be set off
          aspect_ratio(str): Sets aspect ratio of the figure, according to matplotlib aspect_ratio
          tight(bool): If True the tight layout of matplotlib will be activated
  
      Returns:
          Matplotlib figure, matplotlib axes
      """
      plot_title(ax, pretitle, title, posttitle, title_fontsize, title_arg)
      plot_labels(ax, label_fontsize, xlabel, xlabel_arg, ylabel, ylabel_arg, zlabel, zlabel_arg)
      plot_ticks(ax, tick_fontsize, xticks, xticks_args, yticks, yticks_args, zticks, zticks_args)
      update_plot_limits(ax, white_space)
      plot_legend(ax, no_legend, legend_arg)
  
      if no_axes:
          ax.set_frame_on(False)
          ax.xaxis.set_visible(False)
          ax.yaxis.set_visible(False)
  
      ax.set_aspect(aspect_ratio)
  
      if tight:
          fig.set_tight_layout(True)