ctioga2 0.7 → 0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. data/Changelog +8 -0
  2. data/lib/ctioga2/commands/arguments.rb +0 -2
  3. data/lib/ctioga2/commands/commands.rb +0 -2
  4. data/lib/ctioga2/commands/context.rb +0 -2
  5. data/lib/ctioga2/commands/doc/doc.rb +0 -2
  6. data/lib/ctioga2/commands/doc/documentation-commands.rb +0 -2
  7. data/lib/ctioga2/commands/doc/help.rb +0 -2
  8. data/lib/ctioga2/commands/doc/html.rb +0 -2
  9. data/lib/ctioga2/commands/doc/introspection.rb +0 -2
  10. data/lib/ctioga2/commands/doc/man.rb +0 -2
  11. data/lib/ctioga2/commands/doc/markup.rb +0 -2
  12. data/lib/ctioga2/commands/doc/wordwrap.rb +0 -2
  13. data/lib/ctioga2/commands/general-commands.rb +0 -2
  14. data/lib/ctioga2/commands/general-types.rb +0 -2
  15. data/lib/ctioga2/commands/groups.rb +0 -2
  16. data/lib/ctioga2/commands/interpreter.rb +0 -2
  17. data/lib/ctioga2/commands/parsers/command-line.rb +0 -2
  18. data/lib/ctioga2/commands/parsers/file.rb +0 -2
  19. data/lib/ctioga2/commands/parsers/old-file.rb +0 -2
  20. data/lib/ctioga2/commands/strings.rb +0 -2
  21. data/lib/ctioga2/commands/type.rb +0 -2
  22. data/lib/ctioga2/commands/variables.rb +0 -2
  23. data/lib/ctioga2/data/backends/backend.rb +0 -3
  24. data/lib/ctioga2/data/backends/backends/direct.rb +0 -3
  25. data/lib/ctioga2/data/backends/backends/gnuplot.rb +0 -3
  26. data/lib/ctioga2/data/backends/backends/math.rb +0 -2
  27. data/lib/ctioga2/data/backends/backends/text.rb +0 -3
  28. data/lib/ctioga2/data/backends/description.rb +0 -3
  29. data/lib/ctioga2/data/backends/factory.rb +18 -2
  30. data/lib/ctioga2/data/backends/parameter.rb +0 -2
  31. data/lib/ctioga2/data/datacolumn.rb +0 -2
  32. data/lib/ctioga2/data/dataset.rb +5 -3
  33. data/lib/ctioga2/data/filters.rb +0 -3
  34. data/lib/ctioga2/data/indexed-dtable.rb +0 -3
  35. data/lib/ctioga2/data/point.rb +0 -3
  36. data/lib/ctioga2/data/stack.rb +2 -4
  37. data/lib/ctioga2/graphics/coordinates.rb +0 -2
  38. data/lib/ctioga2/graphics/elements.rb +1 -2
  39. data/lib/ctioga2/graphics/elements/containers.rb +32 -2
  40. data/lib/ctioga2/graphics/elements/contour.rb +0 -2
  41. data/lib/ctioga2/graphics/elements/curve2d.rb +0 -2
  42. data/lib/ctioga2/graphics/elements/element.rb +4 -2
  43. data/lib/ctioga2/graphics/elements/gradient-region.rb +0 -2
  44. data/lib/ctioga2/graphics/elements/histogram.rb +298 -0
  45. data/lib/ctioga2/graphics/elements/parametric2d.rb +7 -3
  46. data/lib/ctioga2/graphics/elements/primitive.rb +0 -2
  47. data/lib/ctioga2/graphics/elements/redirecting-container.rb +21 -2
  48. data/lib/ctioga2/graphics/elements/region.rb +0 -2
  49. data/lib/ctioga2/graphics/elements/subplot.rb +0 -2
  50. data/lib/ctioga2/graphics/elements/tangent.rb +0 -2
  51. data/lib/ctioga2/graphics/elements/xyz-contour.rb +0 -2
  52. data/lib/ctioga2/graphics/elements/xyz-map.rb +0 -2
  53. data/lib/ctioga2/graphics/generator.rb +47 -42
  54. data/lib/ctioga2/graphics/legends.rb +0 -2
  55. data/lib/ctioga2/graphics/legends/area.rb +0 -2
  56. data/lib/ctioga2/graphics/legends/items.rb +0 -2
  57. data/lib/ctioga2/graphics/legends/multicols.rb +0 -2
  58. data/lib/ctioga2/graphics/legends/provider.rb +0 -2
  59. data/lib/ctioga2/graphics/legends/storage.rb +0 -2
  60. data/lib/ctioga2/graphics/root.rb +0 -2
  61. data/lib/ctioga2/graphics/styles/arrows.rb +0 -2
  62. data/lib/ctioga2/graphics/styles/axes.rb +0 -2
  63. data/lib/ctioga2/graphics/styles/background.rb +0 -2
  64. data/lib/ctioga2/graphics/styles/base.rb +4 -2
  65. data/lib/ctioga2/graphics/styles/box.rb +0 -2
  66. data/lib/ctioga2/graphics/styles/carrays.rb +0 -2
  67. data/lib/ctioga2/graphics/styles/colormap.rb +0 -2
  68. data/lib/ctioga2/graphics/styles/contour.rb +0 -2
  69. data/lib/ctioga2/graphics/styles/curve.rb +0 -2
  70. data/lib/ctioga2/graphics/styles/drawable.rb +0 -2
  71. data/lib/ctioga2/graphics/styles/errorbar.rb +0 -2
  72. data/lib/ctioga2/graphics/styles/factory.rb +0 -2
  73. data/lib/ctioga2/graphics/styles/gradients.rb +0 -2
  74. data/lib/ctioga2/graphics/styles/legend.rb +0 -2
  75. data/lib/ctioga2/graphics/styles/location.rb +0 -2
  76. data/lib/ctioga2/graphics/styles/map-axes.rb +0 -2
  77. data/lib/ctioga2/graphics/styles/plot-types.rb +51 -3
  78. data/lib/ctioga2/graphics/styles/plot.rb +0 -2
  79. data/lib/ctioga2/graphics/styles/sets.rb +0 -2
  80. data/lib/ctioga2/graphics/styles/sheet.rb +0 -2
  81. data/lib/ctioga2/graphics/styles/texts.rb +0 -2
  82. data/lib/ctioga2/graphics/styles/ticks.rb +0 -2
  83. data/lib/ctioga2/graphics/subplot-commands.rb +0 -2
  84. data/lib/ctioga2/graphics/types.rb +11 -4
  85. data/lib/ctioga2/graphics/types/bijection.rb +0 -2
  86. data/lib/ctioga2/graphics/types/boundaries.rb +0 -2
  87. data/lib/ctioga2/graphics/types/boxes.rb +0 -2
  88. data/lib/ctioga2/graphics/types/dimensions.rb +0 -2
  89. data/lib/ctioga2/graphics/types/fill.rb +27 -15
  90. data/lib/ctioga2/graphics/types/grid.rb +0 -2
  91. data/lib/ctioga2/graphics/types/location.rb +0 -2
  92. data/lib/ctioga2/graphics/types/point.rb +0 -2
  93. data/lib/ctioga2/log.rb +0 -2
  94. data/lib/ctioga2/metabuilder/type.rb +0 -2
  95. data/lib/ctioga2/metabuilder/types/coordinates.rb +0 -2
  96. data/lib/ctioga2/metabuilder/types/data.rb +0 -2
  97. data/lib/ctioga2/metabuilder/types/dates.rb +0 -1
  98. data/lib/ctioga2/metabuilder/types/generic.rb +0 -3
  99. data/lib/ctioga2/metabuilder/types/lists.rb +25 -3
  100. data/lib/ctioga2/metabuilder/types/numbers.rb +0 -2
  101. data/lib/ctioga2/metabuilder/types/strings.rb +0 -3
  102. data/lib/ctioga2/metabuilder/types/styles.rb +0 -2
  103. data/lib/ctioga2/plotmaker.rb +2 -4
  104. data/lib/ctioga2/postprocess.rb +0 -2
  105. data/lib/ctioga2/utils.rb +6 -64
  106. data/lib/ctioga2/version.rb +8 -0
  107. metadata +6 -4
data/Changelog CHANGED
@@ -1,3 +1,11 @@
1
+ ctioga2 (0.8)
2
+
3
+ * New plot type for making histograms (including cumulative histograms)
4
+ * xcolor-style set mixing specification (ie --fill-color default!10)
5
+ * Bug fixes and documentation updates
6
+
7
+ -- Vincent <vincent.fourmond@9online.fr> Fri 27 Dec 00:01:50 CET 2013
8
+
1
9
  ctioga2 (0.7)
2
10
 
3
11
  * It is now possible to index marker size index on Z values for
@@ -16,8 +16,6 @@ require 'ctioga2/commands/type'
16
16
 
17
17
  module CTioga2
18
18
 
19
- Version::register_svn_info('$Revision: 383 $', '$Date: 2013-03-11 21:57:53 +0100 (Mon, 11 Mar 2013) $')
20
-
21
19
  module Commands
22
20
 
23
21
  # An argument to a Command
@@ -17,8 +17,6 @@ require 'ctioga2/commands/groups'
17
17
 
18
18
  module CTioga2
19
19
 
20
- Version::register_svn_info('$Revision: 518 $', '$Date: 2013-09-19 21:43:58 +0200 (Thu, 19 Sep 2013) $')
21
-
22
20
  module Commands
23
21
 
24
22
  # An exception raised when the command is called with an insufficient
@@ -16,8 +16,6 @@ require 'ctioga2/commands/type'
16
16
 
17
17
  module CTioga2
18
18
 
19
- Version::register_svn_info('$Revision$', '$Date$')
20
-
21
19
  module Commands
22
20
 
23
21
  # Context of parsing, mostly for error reporting
@@ -17,8 +17,6 @@ require 'ctioga2/commands/doc/markup'
17
17
 
18
18
  module CTioga2
19
19
 
20
- Version::register_svn_info('$Revision: 138 $', '$Date: 2010-01-21 22:39:55 +0100 (Thu, 21 Jan 2010) $')
21
-
22
20
  module Commands
23
21
 
24
22
  # The base of the 'self-documentation' of CTioga2
@@ -20,8 +20,6 @@ require 'ctioga2/commands/doc/markup'
20
20
 
21
21
  module CTioga2
22
22
 
23
- Version::register_svn_info('$Revision: 106 $', '$Date: 2009-10-21 01:31:34 +0200 (Wed, 21 Oct 2009) $')
24
-
25
23
  module Commands
26
24
 
27
25
  # The base of the 'self-documentation' of CTioga2
@@ -18,8 +18,6 @@ require 'ctioga2/commands/doc/wordwrap'
18
18
 
19
19
  module CTioga2
20
20
 
21
- Version::register_svn_info('$Revision: 532 $', '$Date: 2013-09-29 12:13:33 +0200 (Sun, 29 Sep 2013) $')
22
-
23
21
  module Commands
24
22
 
25
23
  module Documentation
@@ -16,8 +16,6 @@ require 'ctioga2/commands/commands'
16
16
 
17
17
  module CTioga2
18
18
 
19
- Version::register_svn_info('$Revision: 409 $', '$Date: 2013-08-22 21:23:51 +0200 (Thu, 22 Aug 2013) $')
20
-
21
19
  module Commands
22
20
 
23
21
  module Documentation
@@ -16,8 +16,6 @@ require 'ctioga2/commands/commands'
16
16
 
17
17
  module CTioga2
18
18
 
19
- Version::register_svn_info('$Revision: 430 $', '$Date: 2013-08-23 14:23:52 +0200 (Fri, 23 Aug 2013) $')
20
-
21
19
  module Commands
22
20
 
23
21
  module Documentation
@@ -18,8 +18,6 @@ require 'ctioga2/commands/parsers/command-line'
18
18
 
19
19
  module CTioga2
20
20
 
21
- Version::register_svn_info('$Revision: 213 $', '$Date: 2010-12-31 02:50:00 +0100 (Fri, 31 Dec 2010) $')
22
-
23
21
  module Commands
24
22
 
25
23
  module Documentation
@@ -16,8 +16,6 @@ require 'ctioga2/log'
16
16
 
17
17
  module CTioga2
18
18
 
19
- Version::register_svn_info('$Revision: 216 $', '$Date: 2010-12-31 16:18:17 +0100 (Fri, 31 Dec 2010) $')
20
-
21
19
  module Commands
22
20
 
23
21
  module Documentation
@@ -17,8 +17,6 @@ require 'ctioga2/commands/parsers/command-line'
17
17
 
18
18
  module CTioga2
19
19
 
20
- Version::register_svn_info('$Revision: 131 $', '$Date: 2010-01-14 22:51:09 +0100 (Thu, 14 Jan 2010) $')
21
-
22
20
  module Commands
23
21
 
24
22
  module Documentation
@@ -17,8 +17,6 @@ require 'ctioga2/commands/parsers/file'
17
17
 
18
18
  module CTioga2
19
19
 
20
- Version::register_svn_info('$Revision: 508 $', '$Date: 2013-09-09 22:13:14 +0200 (Mon, 09 Sep 2013) $')
21
-
22
20
  module Commands
23
21
 
24
22
  # General scope commands.
@@ -15,8 +15,6 @@ require 'ctioga2/utils'
15
15
 
16
16
  module CTioga2
17
17
 
18
- Version::register_svn_info('$Revision: 517 $', '$Date: 2013-09-19 18:28:15 +0200 (Thu, 19 Sep 2013) $')
19
-
20
18
  module Commands
21
19
 
22
20
  # A file name.
@@ -16,8 +16,6 @@ require 'ctioga2/metabuilder/types'
16
16
 
17
17
  module CTioga2
18
18
 
19
- Version::register_svn_info('$Revision: 14 $', '$Date: 2009-04-27 21:49:16 +0200 (Mon, 27 Apr 2009) $')
20
-
21
19
  module Commands
22
20
 
23
21
  # A group of commands, organized along a same theme.
@@ -21,8 +21,6 @@ require 'ctioga2/commands/doc/doc'
21
21
 
22
22
  module CTioga2
23
23
 
24
- Version::register_svn_info('$Revision: 512 $', '$Date: 2013-09-11 13:20:24 +0200 (Wed, 11 Sep 2013) $')
25
-
26
24
  # This module contains the real core of ctioga2: a set of classes
27
25
  # that implement the concept of commands. Each command translates
28
26
  # into an action (of any kind).
@@ -17,8 +17,6 @@ require 'ctioga2/commands/commands'
17
17
 
18
18
  module CTioga2
19
19
 
20
- Version::register_svn_info('$Revision: 327 $', '$Date: 2012-11-28 14:47:52 +0100 (Wed, 28 Nov 2012) $')
21
-
22
20
  module Commands
23
21
 
24
22
  # In this modules are classes that parse a source of commands, and
@@ -20,8 +20,6 @@ require 'ctioga2/commands/parsers/old-file'
20
20
 
21
21
  module CTioga2
22
22
 
23
- Version::register_svn_info('$Revision: 420 $', '$Date: 2013-08-23 01:05:44 +0200 (Fri, 23 Aug 2013) $')
24
-
25
23
  module Commands
26
24
 
27
25
  module Parsers
@@ -19,8 +19,6 @@ require 'ctioga2/commands/strings'
19
19
 
20
20
  module CTioga2
21
21
 
22
- Version::register_svn_info('$Revision: 392 $', '$Date: 2013-06-23 01:05:02 +0200 (Sun, 23 Jun 2013) $')
23
-
24
22
  module Commands
25
23
 
26
24
  module Parsers
@@ -16,8 +16,6 @@ require 'stringio' # For debugging purposes
16
16
 
17
17
  module CTioga2
18
18
 
19
- Version::register_svn_info('$Revision: 400 $', '$Date: 2013-08-19 17:29:57 +0200 (Mon, 19 Aug 2013) $')
20
-
21
19
  module Commands
22
20
 
23
21
  class UnterminatedString < Exception
@@ -16,8 +16,6 @@ require 'ctioga2/metabuilder/types'
16
16
 
17
17
  module CTioga2
18
18
 
19
- Version::register_svn_info('$Revision: 173 $', '$Date: 2010-10-22 21:41:39 +0200 (Fri, 22 Oct 2010) $')
20
-
21
19
  module Commands
22
20
 
23
21
  # A named type, based on CTioga2::MetaBuilder::Type
@@ -16,8 +16,6 @@ require 'ctioga2/commands/strings'
16
16
 
17
17
  module CTioga2
18
18
 
19
- Version::register_svn_info('$Revision: 302 $', '$Date: 2012-01-03 14:02:43 +0100 (Tue, 03 Jan 2012) $')
20
-
21
19
  module Commands
22
20
 
23
21
  class RecursiveExpansion < Exception
@@ -21,9 +21,6 @@ require 'ctioga2/data/backends/description'
21
21
 
22
22
  module CTioga2
23
23
 
24
- Version::register_svn_info('$Revision: 155 $', '$Date: 2010-06-21 21:41:32 +0200 (Mon, 21 Jun 2010) $')
25
-
26
-
27
24
  module Data
28
25
 
29
26
  # The Backends are in charge of acquiring DataSet from various
@@ -25,9 +25,6 @@ require 'stringio'
25
25
 
26
26
  module CTioga2
27
27
 
28
- Version::register_svn_info('$Revision$', '$Date$')
29
-
30
-
31
28
  module Data
32
29
 
33
30
  module Backends
@@ -25,9 +25,6 @@ require 'stringio'
25
25
 
26
26
  module CTioga2
27
27
 
28
- Version::register_svn_info('$Revision: 151 $', '$Date: 2010-06-19 23:45:20 +0200 (Sat, 19 Jun 2010) $')
29
-
30
-
31
28
  module Data
32
29
 
33
30
  module Backends
@@ -21,8 +21,6 @@ require 'Dobjects/Function'
21
21
 
22
22
  module CTioga2
23
23
 
24
- Version::register_svn_info('$Revision: 451 $', '$Date: 2013-08-29 01:28:30 +0200 (Thu, 29 Aug 2013) $')
25
-
26
24
  module Data
27
25
 
28
26
  module Backends
@@ -25,9 +25,6 @@ require 'stringio'
25
25
 
26
26
  module CTioga2
27
27
 
28
- Version::register_svn_info('$Revision: 524 $', '$Date: 2013-09-22 16:18:39 +0200 (Sun, 22 Sep 2013) $')
29
-
30
-
31
28
  module Data
32
29
 
33
30
  # A module for easy use of NaN in operations
@@ -22,9 +22,6 @@ require 'ctioga2/commands/groups'
22
22
 
23
23
  module CTioga2
24
24
 
25
- Version::register_svn_info('$Revision: 307 $', '$Date: 2012-01-05 14:50:43 +0100 (Thu, 05 Jan 2012) $')
26
-
27
-
28
25
  module Data
29
26
 
30
27
  module Backends
@@ -16,12 +16,11 @@
16
16
  # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
17
 
18
18
  require 'ctioga2/utils'
19
+ require 'ctioga2/log'
19
20
  require 'ctioga2/data/backends/backend'
20
21
 
21
22
  module CTioga2
22
23
 
23
- Version::register_svn_info('$Revision: 2 $', '$Date: 2009-04-25 14:03:30 +0200 (Sat, 25 Apr 2009) $')
24
-
25
24
  module Data
26
25
 
27
26
  module Backends
@@ -30,6 +29,8 @@ module CTioga2
30
29
  # available, and features a 'current backend'.
31
30
  class BackendFactory
32
31
 
32
+ include Log
33
+
33
34
  # A hash name (as in Description#name) -> Backend
34
35
  attr_accessor :backends
35
36
 
@@ -58,6 +59,21 @@ module CTioga2
58
59
  @current = @backends[backend]
59
60
  end
60
61
 
62
+ # Returns the backend named in the 'as' key of options, or the
63
+ # current backend if there isn't
64
+ def specified_backend(options = {})
65
+ if options.key? 'as'
66
+ k = options['as']
67
+ if @backends.key? k
68
+ return @backends[k]
69
+ else
70
+ error { "No such backend: #{k}, ignoring" }
71
+ end
72
+ else
73
+ return @current
74
+ end
75
+ end
76
+
61
77
 
62
78
  # Sets the (raw) value of the parameter of the given backend
63
79
  def set_backend_parameter_value(backend, param, value)
@@ -21,8 +21,6 @@ require 'ctioga2/metabuilder/type'
21
21
 
22
22
  module CTioga2
23
23
 
24
- Version::register_svn_info('$Revision: 17 $', '$Date: 2009-04-28 22:22:22 +0200 (Tue, 28 Apr 2009) $')
25
-
26
24
  module Data
27
25
 
28
26
  module Backends
@@ -17,8 +17,6 @@ require 'ctioga2/utils'
17
17
  # This module contains all the classes used by ctioga
18
18
  module CTioga2
19
19
 
20
- Version::register_svn_info('$Revision: 402 $', '$Date: 2013-08-19 17:30:02 +0200 (Mon, 19 Aug 2013) $')
21
-
22
20
  module Data
23
21
 
24
22
  # This class holds one column, possibly with error bars.
@@ -18,9 +18,6 @@ require 'ctioga2/data/indexed-dtable'
18
18
 
19
19
  module CTioga2
20
20
 
21
- Version::register_svn_info('$Revision: 451 $', '$Date: 2013-08-29 01:28:30 +0200 (Thu, 29 Aug 2013) $')
22
-
23
-
24
21
  # \todo now, port the backend infrastructure...
25
22
 
26
23
  # This module holds all the code that deals with manipulation and
@@ -172,6 +169,11 @@ module CTioga2
172
169
  return 1 + @ys.size
173
170
  end
174
171
 
172
+ # The number of Z columns
173
+ def z_columns
174
+ return @ys.size - 1
175
+ end
176
+
175
177
  # Concatenates another Dataset to this one
176
178
  def <<(dataset)
177
179
  if dataset.size != self.size
@@ -19,9 +19,6 @@ require 'ctioga2/data/backends/factory'
19
19
  # This module contains all the classes used by ctioga
20
20
  module CTioga2
21
21
 
22
- Version::register_svn_info('$Revision: 194 $', '$Date: 2010-11-22 10:26:54 +0100 (Mon, 22 Nov 2010) $')
23
-
24
-
25
22
  module Data
26
23
 
27
24
  # A series of commands that can be used as "filters", as they act
@@ -15,9 +15,6 @@ require 'ctioga2/utils'
15
15
 
16
16
  module CTioga2
17
17
 
18
- Version::register_svn_info('$Revision: 406 $', '$Date: 2013-08-22 21:23:44 +0200 (Thu, 22 Aug 2013) $')
19
-
20
-
21
18
  module Data
22
19
 
23
20
  # An indexed Dtable.
@@ -17,9 +17,6 @@ require 'ctioga2/data/dataset'
17
17
 
18
18
  module CTioga2
19
19
 
20
- Version::register_svn_info('$Revision: 112 $', '$Date: 2009-11-09 22:34:12 +0100 (Mon, 09 Nov 2009) $')
21
-
22
-
23
20
  module Data
24
21
 
25
22
  # This class represents a datapoint, ie. an index in a given
@@ -25,9 +25,6 @@ require 'ctioga2/data/filters'
25
25
  # This module contains all the classes used by ctioga
26
26
  module CTioga2
27
27
 
28
- Version::register_svn_info('$Revision: 518 $', '$Date: 2013-09-19 21:43:58 +0200 (Thu, 19 Sep 2013) $')
29
-
30
-
31
28
  module Data
32
29
 
33
30
  # This is the central class for acquisition and handling of
@@ -92,7 +89,7 @@ EOH
92
89
  # backend, retrieves corresponding Dataset objects, pushes them
93
90
  # onto the stack and returns them.
94
91
  def get_datasets(set, options = {})
95
- backend = @backend_factory.current
92
+ backend = @backend_factory.specified_backend(options)
96
93
  sets = backend.expand_sets(set)
97
94
  datasets = []
98
95
  for s in sets
@@ -319,6 +316,7 @@ EOH
319
316
 
320
317
  LoadDatasetOptions = {
321
318
  'name' => CmdArg.new('text'),
319
+ 'as' => CmdArg.new('text'),
322
320
  'where' => CmdArg.new('text'),
323
321
  'ignore_hooks' => CmdArg.new('boolean')
324
322
  }
@@ -17,8 +17,6 @@ require 'ctioga2/log'
17
17
 
18
18
  module CTioga2
19
19
 
20
- Version::register_svn_info('$Revision: 177 $', '$Date: 2010-10-25 13:22:39 +0200 (Mon, 25 Oct 2010) $')
21
-
22
20
  module Graphics
23
21
 
24
22
  # Deals with transforming the coordinates of all datasets