8000 accept unknown data class for plotting · ruby-numo/numo-gnuplot@350ad7f · GitHub
[go: up one dir, main page]

Skip to content 10000

Commit 350ad7f

Browse files
committed
accept unknown data class for plotting
1 parent f79b2e6 commit 350ad7f

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

lib/numo/gnuplot.rb

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -689,13 +689,24 @@ def self.is_data(a)
689689
t = Numeric if t < Numeric
690690
return a.all?{|e| e.kind_of?(t)}
691691
end
692-
elsif defined?(Numo::NArray)
692+
end
693+
if defined?(Numo::NArray)
693694
return true if a.kind_of?(Numo::NArray)
694-
elsif defined?(::NArray)
695+
end
696+
if defined?(::NArray)
695697
return true if a.kind_of?(::NArray)
696-
elsif defined?(::NMatrix)
698+
end
699+
if defined?(::NMatrix)
697700
return true if a.kind_of?(::NMatrix)
698701
end
702+
case a[a.size-1] # quick check for unknown data class
703+
when Numeric
704+
return true if a[0].kind_of?(Numeric)
705+
when String
706+
return true if a[0].kind_of?(String)
707+
end
708+
false
709+
rescue
699710
false
700711
end
701712

@@ -831,7 +842,7 @@ def initialize(*data)
831842
if data.empty?
832843
raise ArgumentError,"no data"
833844
end
834-
@data = data.map{|a| a.flatten}
845+
@data = data.map{|a| a.respond_to?(:flatten) ? a.flatten : a}
835846
@n = @data.map{|a| a.size}.min
836847
@text = true
837848
end

0 commit comments

Comments
 (0)
0