class ActiveCharts::ScatterPlot

Attributes

dot_labels[R]

Public Instance Methods

chart_svg_tag() click to toggle source
# File lib/active_charts/scatter_plot.rb, line 5
def chart_svg_tag
  inner_html = [grid_rect_tag, ticks(x_ticks, y_ticks), dots, 
                side_label_text_tags, bottom_label_text_tags].flatten.join('
      ')
  
  tag.svg(inner_html.html_safe, svg_options)
end
dots() click to toggle source
# File lib/active_charts/scatter_plot.rb, line 13
def dots
  whitelist = %w[cx cy class]
  
  dots_specs.flatten.map do |dot| 
    [%(<circle #{tag_options(dot, whitelist)} />),
     tag.text(dot[:label], x: dot[:cx] + OFFSET, y: dot[:cy] - OFFSET, class: label_classes)]
  end
end
dots_specs() click to toggle source
# File lib/active_charts/scatter_plot.rb, line 22
def dots_specs
  collection.map.with_index do |row, row_index|
    row.map.with_index do |cell, col_index|
      dot_spec(cell, row_index, col_index)
    end
  end
end

Private Instance Methods

dot_classes(col) click to toggle source
# File lib/active_charts/scatter_plot.rb, line 51
def dot_classes(col)
  ['ac-scatter-plot-dot', 'ac-triggerable', series_class(col)].join(' ')
end
dot_cx(value) click to toggle source
# File lib/active_charts/scatter_plot.rb, line 43
def dot_cx(value)
  Util.scaled_position(value, x_min, x_max, grid_width).round(6)
end
dot_cy(value) click to toggle source
# File lib/active_charts/scatter_plot.rb, line 47
def dot_cy(value)
  grid_height - Util.scaled_position(value, y_min, y_max, grid_height).round(6)
end
dot_spec(cell, row_index, col_index) click to toggle source
# File lib/active_charts/scatter_plot.rb, line 38
def dot_spec(cell, row_index, col_index)
  { cx: dot_cx(cell.first), cy: dot_cy(cell.last), class: dot_classes(col_index), 
    label: dot_labels[row_index] }
end
process_options(options) click to toggle source
Calls superclass method
# File lib/active_charts/scatter_plot.rb, line 32
def process_options(options)
  super
  
  @dot_labels = options[:rows] || []
end