gnuplot 2.2 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. data/lib/gnuplot.rb +29 -9
  2. metadata +54 -31
data/lib/gnuplot.rb CHANGED
@@ -17,9 +17,23 @@ module Gnuplot
17
17
  # Return the full path to the first match or nil if no match is found.
18
18
  #
19
19
  def Gnuplot.which ( bin )
20
+ if RUBY_PLATFORM =~ /mswin|mingw/
21
+ all = [bin, bin + '.exe']
22
+ else
23
+ all = [bin]
24
+ end
25
+ for exec in all
26
+ if which_helper(exec)
27
+ return which_helper(exec)
28
+ end
29
+ end
30
+ return nil
31
+ end
32
+
33
+ def Gnuplot.which_helper bin
20
34
  return bin if File::executable? bin
21
35
 
22
- path = ENV['PATH'] # || ENV['WHAT_EVER_WINDOWS_PATH_VAR_IS']
36
+ path = ENV['PATH']
23
37
  path.split(File::PATH_SEPARATOR).each do |dir|
24
38
  candidate = File::join dir, bin.strip
25
39
  return candidate if File::executable? candidate
@@ -42,6 +56,7 @@ module Gnuplot
42
56
  # Return the path to the gnuplot executable or nil if one cannot be found.
43
57
  def Gnuplot.gnuplot( persist = true )
44
58
  cmd = which( ENV['RB_GNUPLOT'] || 'gnuplot' )
59
+ raise 'gnuplot executable not found' unless cmd
45
60
  cmd += " -persist" if persist
46
61
  cmd
47
62
  end
@@ -73,11 +88,13 @@ module Gnuplot
73
88
  def initialize (io = nil, cmd = "plot")
74
89
  @cmd = cmd
75
90
  @sets = []
91
+ @arbitrary_lines = []
76
92
  @data = []
77
93
  yield self if block_given?
78
-
94
+ puts "writing this to gnuplot:\n" + to_gplot + "\n" if $VERBOSE
79
95
  io << to_gplot if io
80
96
  end
97
+ attr_accessor :arbitrary_lines
81
98
 
82
99
  # Invoke the set method on the plot using the name of the invoked method
83
100
  # as the set variable and any arguments that have been passed as the
@@ -96,7 +113,7 @@ module Gnuplot
96
113
  # readable code.
97
114
 
98
115
  def set ( var, value = "" )
99
- value = "'#{value}'" if QUOTED.include? var unless value =~ /^'.*'$/
116
+ value = "\"#{value}\"" if QUOTED.include? var unless value =~ /^'.*'$/
100
117
  @sets << [ var, value ]
101
118
  end
102
119
 
@@ -118,20 +135,20 @@ module Gnuplot
118
135
 
119
136
  def to_gplot (io = "")
120
137
  @sets.each { |var, val| io << "set #{var} #{val}\n" }
138
+ @arbitrary_lines.each{|line| io << line << "\n" }
121
139
 
122
140
  if @data.size > 0 then
123
141
  io << @cmd << " " << @data.collect { |e| e.plot_args }.join(", ")
124
142
  io << "\n"
125
143
 
126
- v = @data.collect { |ds| ds.to_gplot }
127
- io << v.compact.join("e\n")
144
+ v = @data.collect { |ds| ds.to_gplot }
145
+ io << v.compact.join("e\n")
128
146
  end
129
147
 
130
148
  io
131
149
  end
132
150
  end
133
151
 
134
-
135
152
  class SPlot < Plot
136
153
 
137
154
  def initialize (io = nil, cmd = "splot")
@@ -157,7 +174,6 @@ module Gnuplot
157
174
  end
158
175
 
159
176
 
160
-
161
177
  # Container for a single dataset being displayed by gnuplot. Each object
162
178
  # has a reference to the actual data being plotted as well as settings that
163
179
  # control the "plot" command. The data object must support the to_gplot
@@ -174,10 +190,11 @@ module Gnuplot
174
190
  # @todo Use the delegator to delegate to the data property.
175
191
 
176
192
  class DataSet
177
- attr_accessor :title, :with, :using, :data, :linewidth, :matrix
193
+ attr_accessor :title, :with, :using, :data, :linewidth, :matrix, :smooth, :axes
178
194
 
179
195
  def initialize (data = nil)
180
196
  @data = data
197
+ @title = @with = @using = @linewidth = @matrix = @smooth = @axes = nil # avoid warnings
181
198
  yield self if block_given?
182
199
  end
183
200
 
@@ -192,7 +209,9 @@ module Gnuplot
192
209
  io << ( (@data.instance_of? String) ? @data : "'-'" )
193
210
 
194
211
  io << " using #{@using}" if @using
195
-
212
+
213
+ io << " axes #{@axes}" if @axes
214
+
196
215
  io << case @title
197
216
  when /notitle/ then " notitle"
198
217
  when nil then ""
@@ -201,6 +220,7 @@ module Gnuplot
201
220
 
202
221
  io << " matrix" if @matrix
203
222
  io << " with #{@with}" if @with
223
+ io << " smooth #{@smooth}" if @smooth
204
224
  io << " linewidth #{@linewidth}" if @linewidth
205
225
  io
206
226
  end
metadata CHANGED
@@ -1,39 +1,62 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.8.11
3
- specification_version: 1
4
2
  name: gnuplot
5
3
  version: !ruby/object:Gem::Version
6
- version: "2.2"
7
- date: 2005-11-14 00:00:00 -05:00
8
- summary: Utility library to aid in interacting with gnuplot
9
- require_paths:
10
- - lib
11
- email: gmiller@bittwiddlers.com
12
- homepage: http://rgplot.rubyforge.org
13
- rubyforge_project: rgplot
14
- description:
15
- autorequire: gnuplot.rb
16
- default_executable:
17
- bindir: bin
18
- has_rdoc: false
19
- required_ruby_version: !ruby/object:Gem::Version::Requirement
20
- requirements:
21
- -
22
- - ">"
23
- - !ruby/object:Gem::Version
24
- version: 0.0.0
25
- version:
4
+ prerelease: false
5
+ segments:
6
+ - 2
7
+ - 3
8
+ - 1
9
+ version: 2.3.1
26
10
  platform: ruby
27
- signing_key:
28
- cert_chain:
29
11
  authors:
30
- - Gordon James Miller
31
- files:
32
- - lib/gnuplot.rb
33
- test_files: []
34
- rdoc_options: []
35
- extra_rdoc_files: []
12
+ - see AUTHORS.txt
13
+ autorequire: gnuplot.rb
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2010-03-22 00:00:00 -06:00
18
+ default_executable:
19
+ dependencies: []
20
+
21
+ description: Utility library to aid in interacting with gnuplot
22
+ email: rogerpack2005@gmail.com
36
23
  executables: []
24
+
37
25
  extensions: []
26
+
27
+ extra_rdoc_files: []
28
+
29
+ files:
30
+ - lib/gnuplot.rb
31
+ has_rdoc: true
32
+ homepage: http://github.com/rdp/ruby_gnuplot/tree/master
33
+ licenses: []
34
+
35
+ post_install_message:
36
+ rdoc_options: []
37
+
38
+ require_paths:
39
+ - lib
40
+ required_ruby_version: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ segments:
45
+ - 0
46
+ version: "0"
47
+ required_rubygems_version: !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - ">="
50
+ - !ruby/object:Gem::Version
51
+ segments:
52
+ - 0
53
+ version: "0"
38
54
  requirements: []
39
- dependencies: []
55
+
56
+ rubyforge_project:
57
+ rubygems_version: 1.3.6
58
+ signing_key:
59
+ specification_version: 3
60
+ summary: Utility library to aid in interacting with gnuplot
61
+ test_files: []
62
+