class Charty::Vector
Attributes
adapter[R]
Public Class Methods
new(data, index: nil, name: nil)
click to toggle source
# File lib/charty/vector.rb, line 19 def initialize(data, index: nil, name: nil) adapter_class = VectorAdapters.find_adapter_class(data) @adapter = adapter_class.new(data) self.index = index unless index.nil? self.name = name unless name.nil? end
try_convert(obj)
click to toggle source
# File lib/charty/vector.rb, line 8 def self.try_convert(obj) case obj when self obj else if VectorAdapters.find_adapter_class(obj, exception: false) new(obj) end end end
Public Instance Methods
categorical_order(order=nil)
click to toggle source
TODO: write test
# File lib/charty/vector.rb, line 81 def categorical_order(order=nil) if order.nil? case when categorical? order = categories else order = unique_values.compact if numeric? order.sort_by! {|x| Util.missing?(x) ? Float::INFINITY : x } end end order.compact! end order end
scale(method)
click to toggle source
# File lib/charty/vector.rb, line 56 def scale(method) case method when :linear self when :log adapter.log_scale(method) else raise ArgumentError, "Invalid scaling method: %p" % method end end
scale_inverse(method)
click to toggle source
# File lib/charty/vector.rb, line 68 def scale_inverse(method) case method when :linear self when :log adapter.inverse_log_scale(method) else raise ArgumentError, "Invalid scaling method: %p" % method end end