def plot(term = nil, multiplot_part: false, **options)
      plot_options = mix_options(options) do |plot_opts, mp_opts|
        plot_opts.merge(multiplot: mp_opts.to_h)
      end
      terminal = term || (plot_options[:output] ? Terminal.new : own_terminal)
      multiplot(terminal, plot_options)
      if plot_options[:output]
        # guaranteed wait for plotting to finish
        terminal.close unless term
        # not guaranteed wait for plotting to finish
        # work bad with terminals like svg and html
        sleep 0.01 until File.size?(plot_options[:output])
      end
      self
    end
def plot(term = nil, multiplot_part: false, **options)
      plot_options = mix_options(options) do |plot_opts, mp_opts|
        plot_opts.merge(multiplot: mp_opts.to_h)
      end
      terminal = term || (plot_options[:output] ? Terminal.new : own_terminal)
      multiplot(terminal, plot_options)
      if plot_options[:output]
        # guaranteed wait for plotting to finish
        terminal.close unless term
        # not guaranteed wait for plotting to finish
        # work bad with terminals like svg and html
        sleep 0.01 until File.size?(plot_options[:output])
      end
      self
    end
@param plots [Plot, Splot, Hamster::Vector] Hamster vector (or just sequence) with Plot
   or Splot objects which should be placed on this multiplot layout
 @param options [Hash] see options in top class docs

 Output all the plots to term (if given) or to this Multiplot's own terminal.

 @param term [Terminal] Terminal to plot to
 @param multiplot_part [Boolean] placeholder, does not really needed and should not be used
 @param options [Hash] see options in top class docs.
   Options passed here have priority over already set.
 @return [Multiplot] self