# File lib/scruffy/graph.rb, line 100
    def initialize(*args)
      self.default_type   = args.shift if args.first.is_a?(Symbol)
      options             = args.shift.dup if args.first.is_a?(Hash)
      raise ArgumentError, "The arguments provided are not supported." if args.size > 0

      options ||= {}
      self.theme = Scruffy::Themes::Keynote.new
      self.renderer = Scruffy::Renderers::Standard.new
      self.rasterizer = Scruffy::Rasterizers::RMagickRasterizer.new
      self.value_formatter = Scruffy::Formatters::Number.new

      %w(title theme layers default_type value_formatter point_markers rasterizer).each do |arg|
        self.send("#{arg}=".to_sym, options.delete(arg.to_sym)) unless options[arg.to_sym].nil?
      end
      
      raise ArgumentError, "Some options provided are not supported: #{options.keys.join(' ')}." if options.size > 0
    end