class Gruff::Store::XYPointsizeData
@private
Attributes
Public Class Methods
Source
# File lib/gruff/store/xy_pointsizes_data.rb, line 20 def initialize(label, x_points, y_points, point_sizes, color) y_points = Array(y_points) x_points = x_points ? Array(x_points) : Array.new(y_points.length) raise ArgumentError, 'x_points.length != y_points.length!' if x_points.length != y_points.length raise ArgumentError, 'x_points.length != point_sizes.length!' if x_points.length != point_sizes.length @label = label.to_s @x_points = x_points @y_points = y_points @point_sizes = point_sizes @color = color end
@rbs label: String
| Symbol @rbs x_points
: Array[nil | Float | Integer] | nil @rbs y_points
: Array[nil | Float | Integer] | nil @rbs point_sizes
: Array[nil | Float | Integer] @rbs color: String
Public Instance Methods
Source
# File lib/gruff/store/xy_pointsizes_data.rb, line 50 def columns y_points.length end
@rbs return: Integer
Source
# File lib/gruff/store/xy_pointsizes_data.rb, line 40 def coordinate_and_pointsizes x_points.zip(y_points, point_sizes) #: Array[[Float | Integer | nil, Float | Integer | nil, Float | Integer]] end
@rbs return: Array[[Float | Integer | nil, Float | Integer | nil, Float | Integer]]
Source
# File lib/gruff/store/xy_pointsizes_data.rb, line 35 def coordinates raise NotImplementedError, 'This method is not implemented for XYPointsizeData' end
Source
# File lib/gruff/store/xy_pointsizes_data.rb, line 45 def empty? y_points.empty? end
@rbs return: bool
Source
# File lib/gruff/store/xy_pointsizes_data.rb, line 61 def max y_points.compact.max end
@rbs return: Float | Integer
Also aliased as: max_y
Source
# File lib/gruff/store/xy_pointsizes_data.rb, line 72 def max_x x_points.compact.max end
@rbs return: Float | Integer
Source
# File lib/gruff/store/xy_pointsizes_data.rb, line 55 def min y_points.compact.min end
@rbs return: Float | Integer
Also aliased as: min_y
Source
# File lib/gruff/store/xy_pointsizes_data.rb, line 67 def min_x x_points.compact.min end
@rbs return: Float | Integer
Source
# File lib/gruff/store/xy_pointsizes_data.rb, line 81 def normalize(minimum_x:, minimum_y:, spread_x:, spread_y:) norm_x_points = x_points.map do |x| x.nil? ? nil : (x.to_f - minimum_x.to_f) / spread_x end norm_y_points = y_points.map do |y| y.nil? ? nil : (y.to_f - minimum_y.to_f) / spread_y end self.class.new(label, norm_x_points, norm_y_points, point_sizes, color) end
@rbs minimum_x: Float | Integer @rbs minimum_y: Float | Integer @rbs spread_x: Float | Integer @rbs spread_y: Float | Integer @rbs return: Gruff::Store::XYPointsizeData