def update_plot!(position = 0, **options)
      return self unless block_given? if options.empty?
      replacement = @plots[position].options!(options)
      yield(replacement) if block_given?
      self
    end
def update_plot!(position = 0, **options)
      return self unless block_given? if options.empty?
      replacement = @plots[position].options!(options)
      yield(replacement) if block_given?
      self
    end
Destructive version of #update_plot.

 @return [Multiplot] self
 @example
   Multiplot.new(Plot.new('sin(x)'), Plot.new('cos(x)'), layout: [2,1])
   mp.update_plot!(title: 'Sin(x) and Exp(x)') { |sinx| sinx.add!('exp(x)') }
   # mp IS affected