gchartrb 0.5.3 → 0.5.4

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.
data/History.txt CHANGED
@@ -1,4 +1,11 @@
1
+ == 0.5.4 / 2008-01-07
2
+
3
+ * Fixed a bug related to data encoding in Stacked Charts
4
+ * Fixed a bug in which title font and title font size values were being ignored
5
+ * Fixed a bug where shape markers and range markers were overriding each other
6
+
1
7
  == 0.5.3 / 2007-12-19
8
+
2
9
  * Added support for shape markers
3
10
  * Added support for block based idiomatic ruby syntax
4
11
 
data/Rakefile CHANGED
@@ -8,7 +8,7 @@ class Hoe
8
8
  def extra_deps; @extra_deps.reject { |x| Array(x).first == "hoe" } end
9
9
  end # copied from the Rakefile of the sup project
10
10
 
11
- Hoe.new('gchartrb', "0.5.3") do |p|
11
+ Hoe.new('gchartrb', "0.5.4") do |p|
12
12
  p.rubyforge_name = 'gchartrb'
13
13
  p.author = 'Deepak Jois'
14
14
  p.email = 'deepak.jois@gmail.com'
data/TODO CHANGED
@@ -1,6 +1,5 @@
1
1
  TODO List (Features)
2
2
  ====================
3
- * Markers
4
3
  * Line Styles
5
4
  * Fill Area
6
5
  * Handle Missing Values (?)
@@ -35,6 +35,21 @@ module GoogleChart
35
35
  end
36
36
 
37
37
  def process_data
38
+ if @stacked # Special handling of max value for stacked
39
+ unless @max_data # Unless max_data is explicitly set
40
+ @max_data = @data.inject([]) do |sum_arr, series|
41
+ series.each_with_index do |v,i|
42
+ if sum_arr[i] == nil
43
+ sum_arr[i] = v
44
+ else
45
+ sum_arr[i] += v
46
+ end
47
+ end
48
+ sum_arr
49
+ end.max
50
+ end
51
+ end
52
+
38
53
  if @data.size > 1
39
54
  join_encoded_data(@data.collect { |series|
40
55
  encode_data(series, max_data_value)
@@ -54,8 +54,7 @@ module GoogleChart
54
54
  @data = []
55
55
  @colors = []
56
56
  @axis = []
57
- @range_markers = []
58
- @shape_markers = []
57
+ @markers = []
59
58
  self.chart_size = chart_size
60
59
  self.chart_title = chart_title
61
60
  self.data_encoding = :simple
@@ -80,8 +79,7 @@ module GoogleChart
80
79
  add_axis unless @axis.empty?
81
80
  add_grid
82
81
  add_data
83
- add_range_markers unless @range_markers.empty?
84
- add_shape_markers unless @shape_markers.empty?
82
+ add_markers unless @markers.empty?
85
83
  add_labels(@labels) if [:p, :p3].member?(self.chart_type)
86
84
  add_legend(@labels) if show_legend
87
85
  add_title if chart_title.to_s.length > 0
@@ -170,7 +168,7 @@ module GoogleChart
170
168
  # ==== Options
171
169
  # Not all the options are mandatory.
172
170
  # [<tt>:labels</tt>] An array containing the labels for the axis
173
- # [<tt>:position</tt>] An Array containing the positions for the labels
171
+ # [<tt>:positions</tt>] An Array containing the positions for the labels
174
172
  # [<tt>:range</tt>] An array containing 2 elements, the start value and end value
175
173
  #
176
174
  # axis styling options have to be specified as follows
@@ -223,7 +221,7 @@ module GoogleChart
223
221
  raise "Invalid alignment specified" unless [:horizontal, :vertical].member?(alignment)
224
222
  str = (alignment == :horizontal ) ? "r" : "R"
225
223
  str += ",#{options[:color]},0,#{options[:start_point]},#{options[:end_point]}"
226
- @range_markers << str
224
+ @markers << str
227
225
  end
228
226
 
229
227
  # Defines a shape marker. Applicable for line charts and scatter plots
@@ -243,7 +241,7 @@ module GoogleChart
243
241
  def shape_marker(type, options={})
244
242
  raise "Invalid shape marker type specified" unless SHAPE_MARKERS.has_key?(type)
245
243
  shape_marker_str = "#{SHAPE_MARKERS[type]},#{options[:color]},#{options[:data_set_index]},#{options[:data_point_index]},#{options[:pixel_size]}"
246
- @shape_markers << shape_marker_str
244
+ @markers << shape_marker_str
247
245
  end
248
246
 
249
247
  protected
@@ -288,6 +286,7 @@ module GoogleChart
288
286
  def add_title
289
287
  params.merge!({:chtt => chart_title})
290
288
  params.merge!({:chts => title_color}) if title_color
289
+ params.merge!({:chts => "#{title_color},#{title_font_size}"}) if title_color and title_font_size
291
290
  end
292
291
 
293
292
  def add_axis
@@ -357,14 +356,10 @@ module GoogleChart
357
356
  params.merge!({ :chg => @grid_str }) if @grid_str
358
357
  end
359
358
 
360
- def add_range_markers
361
- params.merge!({:chm => @range_markers.join("|")})
359
+ def add_markers
360
+ params.merge!({:chm => @markers.join("|")})
362
361
  end
363
362
 
364
- def add_shape_markers
365
- params.merge!({:chm => @shape_markers.join("|")})
366
- end
367
-
368
363
  def add_data
369
364
  converted_data = process_data
370
365
  case data_encoding
data/lib/test.rb CHANGED
@@ -73,7 +73,7 @@ GoogleChart::ScatterChart.new('320x200',"Scatter Chart") do |sc|
73
73
  puts sc.to_url
74
74
  end
75
75
 
76
-
76
+ # Grid Fills
77
77
  GoogleChart::LineChart.new('320x200', "Line Chart", false) do |lc|
78
78
  lc.data "Trend 1", [5,4,3,1,3,5,6], '0000ff'
79
79
  lc.show_legend = true
@@ -83,6 +83,7 @@ GoogleChart::LineChart.new('320x200', "Line Chart", false) do |lc|
83
83
  lc.axis :x, :range => [0,6], :color => '00ffff', :font_size => 16, :alignment => :center
84
84
  lc.grid :x_step => 100.0/6.0, :y_step => 100.0/6.0, :length_segment => 1, :length_blank => 0
85
85
  puts "\nLine Chart"
86
+ puts lc.to_url
86
87
  end
87
88
 
88
89
  # Solid fill
@@ -102,6 +103,7 @@ line_chart_xy.fill :chart, :stripes, :angle => 90, :color => [['76A4FB',0.2], ['
102
103
  puts "\nLine Chart with Stripes Fill"
103
104
  puts line_chart_xy.to_url
104
105
 
106
+ # Range and Shape Markers
105
107
  puts "\nLine Chart with range markers and shape markers"
106
108
  GoogleChart::LineChart.new('320x200', "Line Chart", false) do |lc|
107
109
  lc.title_color = 'ff00ff'
@@ -125,3 +127,16 @@ lcxy.data 'D', [[0, 4], [1, 39], [2, 0], [3, 5], [4, 11], [5, 14]], 'cc00ff'
125
127
  puts "\nBryan Error Condition"
126
128
  puts lcxy.to_url
127
129
 
130
+ # Stacked Chart error
131
+ stacked = GoogleChart::BarChart.new('320x200', "Stacked Chart", :vertical, true)
132
+ stacked.data_encoding = :text
133
+ stacked.data "Trend 1", [60,80,20], '0000ff'
134
+ stacked.data "Trend 2", [50,5,100], 'ff0000'
135
+ stacked.axis :y, :range => [0,120]
136
+ stacked.title_color='ff0000'
137
+ stacked.title_font_size=18
138
+ puts "\nStacked Chart with colored title"
139
+ puts stacked.to_url
140
+
141
+
142
+
metadata CHANGED
@@ -1,33 +1,28 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.4
3
- specification_version: 1
4
2
  name: gchartrb
5
3
  version: !ruby/object:Gem::Version
6
- version: 0.5.3
7
- date: 2007-12-19 00:00:00 +08:00
8
- summary: Ruby Wrapper for the Google Chart API
9
- require_paths:
10
- - lib
11
- email: deepak.jois@gmail.com
12
- homepage: " by Deepak Jois"
13
- rubyforge_project: gchartrb
14
- description: "Visit http://code.google.com/p/gchartrb to track development regarding gchartrb. == FEATURES: * Provides an object oriented interface in Ruby to create Google Chart URLs for charts. == INSTALL: === Ruby Gem:"
15
- autorequire:
16
- default_executable:
17
- bindir: bin
18
- has_rdoc: true
19
- required_ruby_version: !ruby/object:Gem::Version::Requirement
20
- requirements:
21
- - - ">"
22
- - !ruby/object:Gem::Version
23
- version: 0.0.0
24
- version:
4
+ version: 0.5.4
25
5
  platform: ruby
26
- signing_key:
27
- cert_chain:
28
- post_install_message:
29
6
  authors:
30
7
  - Deepak Jois
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2008-01-07 00:00:00 +08:00
13
+ default_executable:
14
+ dependencies: []
15
+
16
+ description: "Visit http://code.google.com/p/gchartrb to track development regarding gchartrb. == FEATURES: * Provides an object oriented interface in Ruby to create Google Chart URLs for charts. == INSTALL: === Ruby Gem:"
17
+ email: deepak.jois@gmail.com
18
+ executables: []
19
+
20
+ extensions: []
21
+
22
+ extra_rdoc_files:
23
+ - History.txt
24
+ - Manifest.txt
25
+ - README.txt
31
26
  files:
32
27
  - CREDITS
33
28
  - History.txt
@@ -44,20 +39,32 @@ files:
44
39
  - lib/google_chart/scatter_chart.rb
45
40
  - lib/google_chart/venn_diagram.rb
46
41
  - lib/test.rb
47
- test_files: []
48
-
42
+ has_rdoc: true
43
+ homepage: " by Deepak Jois"
44
+ post_install_message:
49
45
  rdoc_options:
50
46
  - --main
51
47
  - README.txt
52
- extra_rdoc_files:
53
- - History.txt
54
- - Manifest.txt
55
- - README.txt
56
- executables: []
57
-
58
- extensions: []
59
-
48
+ require_paths:
49
+ - lib
50
+ required_ruby_version: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: "0"
55
+ version:
56
+ required_rubygems_version: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: "0"
61
+ version:
60
62
  requirements: []
61
63
 
62
- dependencies: []
64
+ rubyforge_project: gchartrb
65
+ rubygems_version: 1.0.0
66
+ signing_key:
67
+ specification_version: 2
68
+ summary: Ruby Wrapper for the Google Chart API
69
+ test_files: []
63
70