googlecharts 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data.tar.gz.sig CHANGED
Binary file
data/History.txt CHANGED
@@ -1,4 +1,8 @@
1
- == 0.0.4 2007-12-11
1
+ == 0.2.0
2
+ * added export options (file and image tag)
3
+ * added support for all arguments to be passed as a string or an array
4
+
5
+ == 0.1.0 2007-12-11
2
6
  * fixed the axis labels
3
7
 
4
8
  == 0.0.3 2007-12-11
data/lib/gchart.rb CHANGED
@@ -1,5 +1,7 @@
1
1
  $:.unshift File.dirname(__FILE__)
2
2
  require 'gchart/version'
3
+ require "open-uri"
4
+ require "uri"
3
5
 
4
6
  class Gchart
5
7
 
@@ -10,14 +12,21 @@ class Gchart
10
12
  @@simple_chars = ('A'..'Z').to_a + ('a'..'z').to_a + ('0'..'9').to_a
11
13
  @@chars = @@simple_chars + ['-', '.']
12
14
  @@ext_pairs = @@chars.map { |char_1| @@chars.map { |char_2| char_1 + char_2 } }.flatten
15
+ @@file_name = 'chart.png'
13
16
 
14
17
  attr_accessor :title, :type, :width, :height, :horizontal, :grouped, :legend, :data, :encoding, :max_value, :bar_colors,
15
18
  :title_color, :title_size, :custom, :axis_with_labels, :axis_labels
16
19
 
17
20
  class << self
18
21
  # Support for Gchart.line(:title => 'my title', :size => '400x600')
19
- def method_missing(m, options={}, format='raw')
20
- if @@types.include?(m.to_s)
22
+ def method_missing(m, options={})
23
+ # Extract the format and optional filename, then clean the hash
24
+ format = options[:format] || 'url'
25
+ @@file_name = options[:filename] unless options[:filename].nil?
26
+ options.delete(:format)
27
+ options.delete(:filename)
28
+ # create the chart and return it in the format asked for
29
+ if @@types.include?(m.to_s)
21
30
  chart = new(options.merge!({:type => m}))
22
31
  chart.send(format)
23
32
  elsif m.to_s == 'version'
@@ -92,22 +101,37 @@ class Gchart
92
101
  @chart_angle = options[:angle]
93
102
  end
94
103
  end
95
-
104
+
96
105
  # load all the custom aliases
97
106
  require 'gchart/aliases'
98
107
 
99
108
  protected
100
109
 
110
+ # Returns the chart's generated PNG as a blob. (borrowed from John's gchart.rubyforge.org)
111
+ def fetch
112
+ open(query_builder) { |io| io.read }
113
+ end
114
+
115
+ # Writes the chart's generated PNG to a file. (borrowed from John's gchart.rubyforge.org)
116
+ def write(io_or_file=@@file_name)
117
+ return io_or_file.write(fetch) if io_or_file.respond_to?(:write)
118
+ open(io_or_file, "w+") { |io| io.write(fetch) }
119
+ end
120
+
101
121
  # Format
102
122
 
103
123
  def img_tag
104
124
  "<img src='#{query_builder}'/>"
105
125
  end
106
126
 
107
- def raw
127
+ def url
108
128
  query_builder
109
129
  end
110
130
 
131
+ def file
132
+ write
133
+ end
134
+
111
135
  #
112
136
  def jstize(string)
113
137
  string.gsub(' ', '+')
@@ -143,6 +167,7 @@ class Gchart
143
167
 
144
168
  # set bar, line colors
145
169
  def set_bar_colors
170
+ @bar_colors = @bar_colors.join(',') if @bar_colors.is_a?(Array)
146
171
  "chco=#{@bar_colors}"
147
172
  end
148
173
 
@@ -187,12 +212,19 @@ class Gchart
187
212
  end
188
213
 
189
214
  def set_axis_with_labels
215
+ @axis_with_labels = @axis_with_labels.join(',') if @axis_with_labels.is_a?(Array)
190
216
  "chxt=#{@axis_with_labels}"
191
217
  end
192
218
 
193
219
  def set_axis_labels
194
220
  labels_arr = []
195
- axis_labels.each_with_index{|labels,index| labels_arr << "#{index}:|#{labels}"}
221
+ axis_labels.each_with_index do |labels,index|
222
+ if labels.is_a?(Array)
223
+ labels_arr << "#{index}:|#{labels.join('|')}"
224
+ else
225
+ labels_arr << "#{index}:|#{labels}"
226
+ end
227
+ end
196
228
  "chxl=#{labels_arr.join('|')}"
197
229
  end
198
230
 
@@ -1,7 +1,7 @@
1
1
  module GchartInfo #:nodoc:
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
- MINOR = 1
4
+ MINOR = 2
5
5
  TINY = 0
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
data/spec/gchart_spec.rb CHANGED
@@ -65,11 +65,14 @@ describe "generating a default Gchart" do
65
65
 
66
66
  it "should be able to set label axis" do
67
67
  Gchart.line(:axis_with_labels => 'x,y,r').include?('chxt=x,y,r').should be_true
68
+ Gchart.line(:axis_with_labels => ['x','y','r']).include?('chxt=x,y,r').should be_true
68
69
  end
69
70
 
70
71
  it "should be able to have axis labels" do
71
72
  Gchart.line(:axis_labels => ['Jan|July|Jan|July|Jan', '0|100', 'A|B|C', '2005|2006|2007']).include?('chxl=0:|Jan|July|Jan|July|Jan|1:|0|100|2:|A|B|C|3:|2005|2006|2007').should be_true
72
73
  Gchart.line(:axis_labels => ['Jan|July|Jan|July|Jan']).include?('chxl=0:|Jan|July|Jan|July|Jan').should be_true
74
+ Gchart.line(:axis_labels => [['Jan','July','Jan','July','Jan']]).include?('chxl=0:|Jan|July|Jan|July|Jan').should be_true
75
+ Gchart.line(:axis_labels => [['Jan','July','Jan','July','Jan'], ['0','100'], ['A','B','C'], ['2005','2006','2007']]).include?('chxl=0:|Jan|July|Jan|July|Jan|1:|0|100|2:|A|B|C|3:|2005|2006|2007').should be_true
73
76
  end
74
77
 
75
78
  end
@@ -138,12 +141,16 @@ describe "a bar graph" do
138
141
  end
139
142
 
140
143
  it "should be able to have different bar colors" do
141
- Gchart.bar(:bar_colors => 'efefef|00ffff').include?('chco=').should be_true
142
- Gchart.bar(:bar_colors => 'efefef|00ffff').include?('chco=efefef|00ffff').should be_true
144
+ Gchart.bar(:bar_colors => 'efefef,00ffff').include?('chco=').should be_true
145
+ Gchart.bar(:bar_colors => 'efefef,00ffff').include?('chco=efefef,00ffff').should be_true
143
146
  # alias
144
147
  Gchart.bar(:bar_color => 'efefef').include?('chco=efefef').should be_true
145
148
  end
146
149
 
150
+ it "should be able to have different bar colors when using an array of colors" do
151
+ Gchart.bar(:bar_colors => ['efefef','00ffff']).include?('chco=efefef,00ffff').should be_true
152
+ end
153
+
147
154
  end
148
155
 
149
156
  describe "a line chart" do
@@ -228,4 +235,30 @@ describe "a pie chart" do
228
235
  Gchart.pie_3d(:title => @title, :labels => @legend, :data => @data).should == Gchart.pie_3d(:title => @title, :legend => @legend, :data => @data)
229
236
  end
230
237
 
238
+ end
239
+
240
+ describe 'exporting a chart' do
241
+
242
+ it "should be available in the url format by default" do
243
+ Gchart.line(:data => [0, 26], :format => 'url').should == Gchart.line(:data => [0, 26])
244
+ end
245
+
246
+ it "should be available as the img tag" do
247
+ Gchart.line(:data => [0, 26], :format => 'img_tag').should match(/<img src=(.*)\/>/)
248
+ end
249
+
250
+ it "should be available as a file" do
251
+ File.delete('chart.png') if File.exist?('chart.png')
252
+ Gchart.line(:data => [0, 26], :format => 'file')
253
+ File.exist?('chart.png').should be_true
254
+ File.delete('chart.png') if File.exist?('chart.png')
255
+ end
256
+
257
+ it "should be available as a file using a custom file name" do
258
+ File.delete('custom_file_name.png') if File.exist?('custom_file_name.png')
259
+ Gchart.line(:data => [0, 26], :format => 'file', :filename => 'custom_file_name.png')
260
+ File.exist?('custom_file_name.png').should be_true
261
+ File.delete('custom_file_name.png') if File.exist?('custom_file_name.png')
262
+ end
263
+
231
264
  end
data/website/index.html CHANGED
@@ -33,7 +33,7 @@
33
33
  <h1>Googlecharts</h1>
34
34
  <div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/googlecharts"; return false'>
35
35
  <p>Get Version</p>
36
- <a href="http://rubyforge.org/projects/googlecharts" class="numbers">0.1.0</a>
36
+ <a href="http://rubyforge.org/projects/googlecharts" class="numbers">0.2.0</a>
37
37
  </div>
38
38
  <h2>&#x2192; &#8216;Sexy Charts using Google <span class="caps">API</span> &#38; Ruby&#8217;</h2>
39
39
 
@@ -172,6 +172,14 @@ install:
172
172
  </pre></p>
173
173
 
174
174
 
175
+ <p>If you prefer you can use this other syntax:</p>
176
+
177
+
178
+ <p><pre class='syntax'>
179
+ <span class="constant">Gchart</span><span class="punct">.</span><span class="ident">bar</span><span class="punct">(</span><span class="symbol">:data</span> <span class="punct">=&gt;</span> <span class="punct">[[</span><span class="number">300</span><span class="punct">,</span> <span class="number">100</span><span class="punct">,</span> <span class="number">30</span><span class="punct">,</span> <span class="number">200</span><span class="punct">],</span> <span class="punct">[</span><span class="number">100</span><span class="punct">,</span> <span class="number">200</span><span class="punct">,</span> <span class="number">300</span><span class="punct">,</span> <span class="number">10</span><span class="punct">]],</span> <span class="symbol">:bar_colors</span> <span class="punct">=&gt;</span> <span class="punct">['</span><span class="string">FF0000</span><span class="punct">',</span> <span class="punct">'</span><span class="string">00FF00</span><span class="punct">'])</span>
180
+ </pre></p>
181
+
182
+
175
183
  <p><img src="http://chart.apis.google.com/chart?cht=bvs&#38;chs=300x200&#38;chd=s:9UGo,Uo9C&#38;chco=FF0000,00FF00" title="colors" alt="colors" /></p>
176
184
 
177
185
 
@@ -360,7 +368,7 @@ Data set:
360
368
  <p><pre class='syntax'>
361
369
  <span class="constant">Gchart</span><span class="punct">.</span><span class="ident">line</span><span class="punct">(</span> <span class="symbol">:title</span> <span class="punct">=&gt;</span> <span class="punct">&quot;</span><span class="string">Matt vs Rob</span><span class="punct">&quot;,</span>
362
370
  <span class="symbol">:data</span> <span class="punct">=&gt;</span> <span class="punct">[[</span><span class="number">300</span><span class="punct">,</span> <span class="number">100</span><span class="punct">,</span> <span class="number">30</span><span class="punct">,</span> <span class="number">200</span><span class="punct">],</span> <span class="punct">[</span><span class="number">100</span><span class="punct">,</span> <span class="number">200</span><span class="punct">,</span> <span class="number">300</span><span class="punct">,</span> <span class="number">10</span><span class="punct">]],</span>
363
- <span class="symbol">:bar_colors</span> <span class="punct">=&gt;</span> <span class="punct">'</span><span class="string">FF0000,00FF00</span><span class="punct">',</span>
371
+ <span class="symbol">:bar_colors</span> <span class="punct">=&gt;</span> <span class="punct">['</span><span class="string">FF0000</span><span class="punct">','</span><span class="string">00FF00</span><span class="punct">'],</span>
364
372
  <span class="symbol">:stacked</span> <span class="punct">=&gt;</span> <span class="constant">false</span><span class="punct">,</span> <span class="symbol">:size</span> <span class="punct">=&gt;</span> <span class="punct">'</span><span class="string">400x200</span><span class="punct">',</span>
365
373
  <span class="symbol">:legend</span> <span class="punct">=&gt;</span> <span class="punct">[&quot;</span><span class="string">Matt's Mojo</span><span class="punct">&quot;,</span> <span class="punct">&quot;</span><span class="string">Rob's Mojo</span><span class="punct">&quot;]</span> <span class="punct">)</span>
366
374
  </pre>
@@ -384,6 +392,14 @@ Data set:
384
392
  </pre></p>
385
393
 
386
394
 
395
+ <p>or you can use the other syntax:</p>
396
+
397
+
398
+ <p><pre class='syntax'>
399
+ <span class="constant">Gchart</span><span class="punct">.</span><span class="ident">line</span><span class="punct">(</span> <span class="symbol">:data</span> <span class="punct">=&gt;</span> <span class="punct">[</span><span class="number">300</span><span class="punct">,</span> <span class="number">100</span><span class="punct">,</span> <span class="number">30</span><span class="punct">,</span> <span class="number">200</span><span class="punct">,</span> <span class="number">100</span><span class="punct">,</span> <span class="number">200</span><span class="punct">,</span> <span class="number">300</span><span class="punct">,</span> <span class="number">10</span><span class="punct">],</span> <span class="symbol">:axis_with_labels</span> <span class="punct">=&gt;</span> <span class="punct">['</span><span class="string">x</span><span class="punct">','</span><span class="string">y</span><span class="punct">','</span><span class="string">r</span><span class="punct">'])</span>
400
+ </pre></p>
401
+
402
+
387
403
  <p><img src="http://chart.apis.google.com/chart?cht=lc&#38;chs=300x200&#38;chxt=x,y,r&#38;chd=s:9UGoUo9C" title="axis with labels" alt="axis with labels" /></p>
388
404
 
389
405
 
@@ -393,6 +409,15 @@ Data set:
393
409
  </pre></p>
394
410
 
395
411
 
412
+ <p>or you can use the other syntax:</p>
413
+
414
+
415
+ <p><pre class='syntax'>
416
+ <span class="constant">Gchart</span><span class="punct">.</span><span class="ident">line</span><span class="punct">(</span> <span class="symbol">:data</span> <span class="punct">=&gt;</span> <span class="punct">[</span><span class="number">300</span><span class="punct">,</span> <span class="number">100</span><span class="punct">,</span> <span class="number">30</span><span class="punct">,</span> <span class="number">200</span><span class="punct">,</span> <span class="number">100</span><span class="punct">,</span> <span class="number">200</span><span class="punct">,</span> <span class="number">300</span><span class="punct">,</span> <span class="number">10</span><span class="punct">],</span> <span class="symbol">:axis_with_labels</span> <span class="punct">=&gt;</span> <span class="punct">'</span><span class="string">x</span><span class="punct">',</span>
417
+ <span class="symbol">:axis_labels</span> <span class="punct">=&gt;</span> <span class="punct">['</span><span class="string">Jan</span><span class="punct">','</span><span class="string">July</span><span class="punct">','</span><span class="string">Jan</span><span class="punct">','</span><span class="string">July</span><span class="punct">','</span><span class="string">Jan</span><span class="punct">'])</span>
418
+ </pre></p>
419
+
420
+
396
421
  <p><img src="http://chart.apis.google.com/chart?cht=lc&#38;chxl=0:|Jan|July|Jan|July|Jan&#38;chs=300x200&#38;chxt=x&#38;chd=s:9UGoUo9C" title="x labels" alt="x labels" /></p>
397
422
 
398
423
 
@@ -405,6 +430,15 @@ Data set:
405
430
  </pre></p>
406
431
 
407
432
 
433
+ <p>or</p>
434
+
435
+
436
+ <p><pre class='syntax'>
437
+ <span class="constant">Gchart</span><span class="punct">.</span><span class="ident">line</span><span class="punct">(</span> <span class="symbol">:data</span> <span class="punct">=&gt;</span> <span class="punct">[</span><span class="number">300</span><span class="punct">,</span> <span class="number">100</span><span class="punct">,</span> <span class="number">30</span><span class="punct">,</span> <span class="number">200</span><span class="punct">,</span> <span class="number">100</span><span class="punct">,</span> <span class="number">200</span><span class="punct">,</span> <span class="number">300</span><span class="punct">,</span> <span class="number">10</span><span class="punct">],</span> <span class="symbol">:axis_with_labels</span> <span class="punct">=&gt;</span> <span class="punct">'</span><span class="string">x,r</span><span class="punct">',</span>
438
+ <span class="symbol">:axis_labels</span> <span class="punct">=&gt;</span> <span class="punct">[['</span><span class="string">Jan</span><span class="punct">','</span><span class="string">July</span><span class="punct">','</span><span class="string">Jan</span><span class="punct">','</span><span class="string">July</span><span class="punct">','</span><span class="string">Jan</span><span class="punct">'],</span> <span class="punct">['</span><span class="string">2005</span><span class="punct">','</span><span class="string">2006</span><span class="punct">','</span><span class="string">2007</span><span class="punct">']])</span>
439
+ </pre></p>
440
+
441
+
408
442
  <p><img src="http://chart.apis.google.com/chart?cht=lc&#38;chxl=0:|Jan|July|Jan|July|Jan|1:|2005|2006|2007&#38;chs=300x200&#38;chxt=x,r&#38;chd=s:9UGoUo9C" title="multiple axis labels" alt="multiple axis labels" /></p>
409
443
 
410
444
 
@@ -425,6 +459,42 @@ Data set:
425
459
  <p><img src="http://chart.apis.google.com/chart?cht=lc&#38;chs=300x200&#38;chd=s:93zyvneTTOMJMLIJFHEAECFJGHDBFCFIERcgnpy45879,IJKNUWUWYdnswz047977315533zy1246872tnkgcaZQONHCECAAAAEII&#38;chls=3,6,3|1,1,0" title="Custom" alt="Custom" /></p>
426
460
 
427
461
 
462
+ <hr />
463
+
464
+
465
+ <p><strong>Save the chart as a file</strong></p>
466
+
467
+
468
+ <p>You might prefer to save the chart instead of using the url, not a problem:</p>
469
+
470
+
471
+ <p><pre class='syntax'>
472
+ <span class="constant">Gchart</span><span class="punct">.</span><span class="ident">line</span><span class="punct">(</span><span class="symbol">:data</span> <span class="punct">=&gt;</span> <span class="punct">[</span><span class="number">0</span><span class="punct">,</span> <span class="number">26</span><span class="punct">],</span> <span class="symbol">:format</span> <span class="punct">=&gt;</span> <span class="punct">'</span><span class="string">file</span><span class="punct">')</span>
473
+ </pre></p>
474
+
475
+
476
+ <p>You might want to specify the path and/or the filename used to save your chart:</p>
477
+
478
+
479
+ <p><pre class='syntax'>
480
+ <span class="constant">Gchart</span><span class="punct">.</span><span class="ident">line</span><span class="punct">(</span><span class="symbol">:data</span> <span class="punct">=&gt;</span> <span class="punct">[</span><span class="number">0</span><span class="punct">,</span> <span class="number">26</span><span class="punct">],</span> <span class="symbol">:format</span> <span class="punct">=&gt;</span> <span class="punct">'</span><span class="string">file</span><span class="punct">',</span> <span class="symbol">:filename</span> <span class="punct">=&gt;</span> <span class="punct">'</span><span class="string">custom_filename.png</span><span class="punct">')</span>
481
+ </pre></p>
482
+
483
+
484
+ <p><strong>Insert as an image tag</strong></p>
485
+
486
+
487
+ <p>Because, I&#8217;m lazy, I also added a custom format:</p>
488
+
489
+
490
+ <p><pre class='syntax'>
491
+ <span class="constant">Gchart</span><span class="punct">.</span><span class="ident">line</span><span class="punct">(</span><span class="symbol">:data</span> <span class="punct">=&gt;</span> <span class="punct">[</span><span class="number">0</span><span class="punct">,</span> <span class="number">26</span><span class="punct">],</span> <span class="symbol">:format</span> <span class="punct">=&gt;</span> <span class="punct">'</span><span class="string">img_tag</span><span class="punct">')</span>
492
+ </pre></p>
493
+
494
+
495
+ <p>&lt;img src=&#8217;http://chart.apis.google.com/chart?chs=300&#215;200&#38;chd=s:A9&#38;cht=lc&#8217;/&gt;</p>
496
+
497
+
428
498
  <hr />
429
499
 
430
500
 
@@ -479,7 +549,7 @@ Data set:
479
549
  </pre></p>
480
550
 
481
551
 
482
- <p>!http://chart.apis.google.com/chart?cht=lc&#38;chs=300&#215;200&#38;chd=s:9UGoUo9C(Title)</p>
552
+ <p><img src="http://chart.apis.google.com/chart?cht=lc&#38;chs=300x200&#38;chd=s:9UGoUo9C" title="Title" alt="Title" /></p>
483
553
 
484
554
 
485
555
  <p><pre class='syntax'>
@@ -515,12 +585,17 @@ Data set:
515
585
 
516
586
  <p>Comments are welcome. Send an email to <a href="mailto:mattaimonetti@gmail.com">Matt Aimonetti</a></p>
517
587
  <p class="coda">
518
- <a href="mattaimonetti@gmail.com">Matt Aimonetti</a>, 11th December 2007<br>
588
+ <a href="mattaimonetti@gmail.com">Matt Aimonetti</a>, 19th December 2007<br>
519
589
  Theme extended from <a href="http://rb2js.rubyforge.org/">Paul Battley</a>
520
590
  </p>
521
591
  </div>
522
592
 
523
- <!-- insert site tracking codes here, like Google Urchin -->
593
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
594
+ </script>
595
+ <script type="text/javascript">
596
+ _uacct = "UA-179809-11";
597
+ urchinTracker();
598
+ </script>
524
599
 
525
600
  </body>
526
601
  </html>
data/website/index.txt CHANGED
@@ -102,6 +102,12 @@ The problem is that by default the bars are stacked, so we need to set the color
102
102
  Gchart.bar(:data => [[300, 100, 30, 200], [100, 200, 300, 10]], :bar_colors => 'FF0000,00FF00')
103
103
  </pre>
104
104
 
105
+ If you prefer you can use this other syntax:
106
+
107
+ <pre syntax="ruby">
108
+ Gchart.bar(:data => [[300, 100, 30, 200], [100, 200, 300, 10]], :bar_colors => ['FF0000', '00FF00'])
109
+ </pre>
110
+
105
111
  !http://chart.apis.google.com/chart?cht=bvs&chs=300x200&chd=s:9UGo,Uo9C&chco=FF0000,00FF00(colors)!
106
112
 
107
113
  The problem now, is that we can't see the first value of the second dataset since it's lower than the first value of the first dataset. Let's unstack the bars:
@@ -246,7 +252,7 @@ Supply two data sets, the first data set specifies x coordinates, the second set
246
252
  <pre syntax="ruby">
247
253
  Gchart.line( :title => "Matt vs Rob",
248
254
  :data => [[300, 100, 30, 200], [100, 200, 300, 10]],
249
- :bar_colors => 'FF0000,00FF00',
255
+ :bar_colors => ['FF0000','00FF00'],
250
256
  :stacked => false, :size => '400x200',
251
257
  :legend => ["Matt's Mojo", "Rob's Mojo"] )
252
258
  </pre>
@@ -266,6 +272,12 @@ Supply two data sets, the first data set specifies x coordinates, the second set
266
272
  Gchart.line( :data => [300, 100, 30, 200, 100, 200, 300, 10], :axis_with_labels => 'x,y,r')
267
273
  </pre>
268
274
 
275
+ or you can use the other syntax:
276
+
277
+ <pre syntax="ruby">
278
+ Gchart.line( :data => [300, 100, 30, 200, 100, 200, 300, 10], :axis_with_labels => ['x','y','r'])
279
+ </pre>
280
+
269
281
  !http://chart.apis.google.com/chart?cht=lc&chs=300x200&chxt=x,y,r&chd=s:9UGoUo9C(axis with labels)!
270
282
 
271
283
  <pre syntax="ruby">
@@ -273,6 +285,13 @@ Supply two data sets, the first data set specifies x coordinates, the second set
273
285
  :axis_labels => ['Jan|July|Jan|July|Jan'])
274
286
  </pre>
275
287
 
288
+ or you can use the other syntax:
289
+
290
+ <pre syntax="ruby">
291
+ Gchart.line( :data => [300, 100, 30, 200, 100, 200, 300, 10], :axis_with_labels => 'x',
292
+ :axis_labels => ['Jan','July','Jan','July','Jan'])
293
+ </pre>
294
+
276
295
  !http://chart.apis.google.com/chart?cht=lc&chxl=0:|Jan|July|Jan|July|Jan&chs=300x200&chxt=x&chd=s:9UGoUo9C(x labels)!
277
296
 
278
297
  *multiple axis labels*
@@ -282,6 +301,13 @@ Supply two data sets, the first data set specifies x coordinates, the second set
282
301
  :axis_labels => ['Jan|July|Jan|July|Jan', '2005|2006|2007'])
283
302
  </pre>
284
303
 
304
+ or
305
+
306
+ <pre syntax="ruby">
307
+ Gchart.line( :data => [300, 100, 30, 200, 100, 200, 300, 10], :axis_with_labels => 'x,r',
308
+ :axis_labels => [['Jan','July','Jan','July','Jan'], ['2005','2006','2007']])
309
+ </pre>
310
+
285
311
  !http://chart.apis.google.com/chart?cht=lc&chxl=0:|Jan|July|Jan|July|Jan|1:|2005|2006|2007&chs=300x200&chxt=x,r&chd=s:9UGoUo9C(multiple axis labels)!
286
312
 
287
313
  (This syntax will probably be improved in the future)
@@ -298,6 +324,32 @@ I certainly didn't cover the entire API, if you want to add your own params:
298
324
 
299
325
  ---
300
326
 
327
+ *Save the chart as a file*
328
+
329
+ You might prefer to save the chart instead of using the url, not a problem:
330
+
331
+ <pre syntax="ruby">
332
+ Gchart.line(:data => [0, 26], :format => 'file')
333
+ </pre>
334
+
335
+ You might want to specify the path and/or the filename used to save your chart:
336
+
337
+ <pre syntax="ruby">
338
+ Gchart.line(:data => [0, 26], :format => 'file', :filename => 'custom_filename.png')
339
+ </pre>
340
+
341
+ *Insert as an image tag*
342
+
343
+ Because, I'm lazy, I also added a custom format:
344
+
345
+ <pre syntax="ruby">
346
+ Gchart.line(:data => [0, 26], :format => 'img_tag')
347
+ </pre>
348
+
349
+ &lt;img src='http://chart.apis.google.com/chart?chs=300x200&chd=s:A9&cht=lc'/&gt;
350
+
351
+ ---
352
+
301
353
  *Encoding*
302
354
 
303
355
  Google Chart API offers "3 types of data encoding":http://code.google.com/apis/chart/#chart_data
@@ -335,7 +387,7 @@ The max value option is a simple way of scaling your graph. The data is converte
335
387
  Gchart.line( :data => [300, 100, 30, 200, 100, 200, 300, 10] )
336
388
  </pre>
337
389
 
338
- !http://chart.apis.google.com/chart?cht=lc&chs=300x200&chd=s:9UGoUo9C(Title)
390
+ !http://chart.apis.google.com/chart?cht=lc&chs=300x200&chd=s:9UGoUo9C(Title)!
339
391
 
340
392
  <pre syntax="ruby">
341
393
  Gchart.line( :data => [300, 100, 30, 200, 100, 200, 300, 10], :max_value => 500 )
@@ -42,7 +42,12 @@
42
42
  </p>
43
43
  </div>
44
44
 
45
- <!-- insert site tracking codes here, like Google Urchin -->
45
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
46
+ </script>
47
+ <script type="text/javascript">
48
+ _uacct = "UA-179809-11";
49
+ urchinTracker();
50
+ </script>
46
51
 
47
52
  </body>
48
53
  </html>
metadata CHANGED
@@ -1,29 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.4
3
- specification_version: 1
4
2
  name: googlecharts
5
3
  version: !ruby/object:Gem::Version
6
- version: 0.1.0
7
- date: 2007-12-11 00:00:00 -08:00
8
- summary: description of gem
9
- require_paths:
10
- - lib
11
- email: mattaimonetti@gmail.com
12
- homepage: http://googlecharts.rubyforge.org
13
- rubyforge_project: googlecharts
14
- description: description of gem
4
+ version: 0.2.0
5
+ platform: ""
6
+ authors:
7
+ - Matt Aimonetti
15
8
  autorequire:
16
- default_executable:
17
9
  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:
25
- platform: ruby
26
- signing_key:
27
10
  cert_chain:
28
11
  - |
29
12
  -----BEGIN CERTIFICATE-----
@@ -47,9 +30,22 @@ cert_chain:
47
30
  ZR7qHIpykzr3ezcNiWtBWw==
48
31
  -----END CERTIFICATE-----
49
32
 
50
- post_install_message:
51
- authors:
52
- - Matt Aimonetti
33
+ date: 2007-12-19 00:00:00 -05:00
34
+ default_executable:
35
+ dependencies: []
36
+
37
+ description: description of gem
38
+ email: mattaimonetti@gmail.com
39
+ executables: []
40
+
41
+ extensions: []
42
+
43
+ extra_rdoc_files:
44
+ - History.txt
45
+ - License.txt
46
+ - Manifest.txt
47
+ - README.txt
48
+ - website/index.txt
53
49
  files:
54
50
  - History.txt
55
51
  - License.txt
@@ -78,22 +74,32 @@ files:
78
74
  - website/javascripts/rounded_corners_lite.inc.js
79
75
  - website/stylesheets/screen.css
80
76
  - website/template.rhtml
81
- test_files: []
82
-
77
+ has_rdoc: true
78
+ homepage: http://googlecharts.rubyforge.org
79
+ post_install_message:
83
80
  rdoc_options:
84
81
  - --main
85
82
  - README.txt
86
- extra_rdoc_files:
87
- - History.txt
88
- - License.txt
89
- - Manifest.txt
90
- - README.txt
91
- - website/index.txt
92
- executables: []
93
-
94
- extensions: []
95
-
83
+ require_paths:
84
+ - lib
85
+ required_ruby_version: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: "0"
90
+ version:
91
+ required_rubygems_version: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: "0"
96
+ version:
96
97
  requirements: []
97
98
 
98
- dependencies: []
99
+ rubyforge_project: googlecharts
100
+ rubygems_version: 0.9.5
101
+ signing_key:
102
+ specification_version: 2
103
+ summary: description of gem
104
+ test_files: []
99
105
 
metadata.gz.sig CHANGED
Binary file