def render(options = {})
options[:theme] ||= theme
options[:value_formatter] ||= value_formatter
options[:point_markers] ||= point_markers
options[:size] ||= (options[:width] ? [options[:width], (options.delete(:width) * 0.6).to_i] : [600, 360])
options[:title] ||= title
options[:layers] ||= layers
options[:min_value] ||= bottom_value(:padded)
options[:max_value] ||= top_value
options[:graph] ||= self
svg = ( options[:renderer].nil? ? self.renderer.render( options ) : options[:renderer].render( options ) )
if options[:to] && options[:as].nil?
File.open(options[:to], 'w') { |file|
file.write(svg)
}
end
options[:as] ? rasterizer.rasterize(svg, options) : svg
end