Class: Scruffy::Components::DataMarkers
- Includes:
- Helpers::Marker
- Defined in:
- lib/scruffy/components/data_markers.rb
Instance Attribute Summary collapse
-
#markers ⇒ Object
Returns the value of attribute markers.
Attributes inherited from Base
#id, #options, #position, #size, #visible
Instance Method Summary collapse
Methods included from Helpers::Marker
Methods inherited from Base
#initialize, #process, #render
Constructor Details
This class inherits a constructor from Scruffy::Components::Base
Instance Attribute Details
#markers ⇒ Object
Returns the value of attribute markers.
8 9 10 |
# File 'lib/scruffy/components/data_markers.rb', line 8 def markers @markers end |
Instance Method Details
#draw(svg, bounds, options = {}) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/scruffy/components/data_markers.rb', line 10 def draw(svg, bounds, ={}) if [:calculate_markers] && ([:point_markers].nil? || [:point_markers].empty?) markers = ([:markers] || self.markers) || 5 [:point_markers] = [] each_marker(markers, [:min_key], [:max_key], bounds[:width], , :key_formatter) do |label, x| [:point_markers] << label end end unless [:point_markers].nil? point_distance = bounds[:width] / ([:point_markers].size - 1).to_f (0...[:point_markers].size).map do |idx| x_coord = point_distance * idx svg.text([:point_markers][idx], :x => x_coord, :y => bounds[:height], 'font-size' => relative(90), 'font-family' => [:theme].font_family, :fill => ([:theme].marker || 'white').to_s, 'text-anchor' => 'middle') unless [:point_markers][idx].nil? end end end |