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