image

  • フォト Amazonギフト券
    ※この時計の時刻は、閲覧しているパソコンのものであり、必ずしも正確な時間とは限りません

検索

最近のトラックバック

無料ブログはココログ

« 2008年5月6日 | トップページ | 2008年5月8日 »

2008年5月7日

2008-05-07

google chart api のサンプル

- http://gchartrb.rubyforge.org/
> gchartrb is a Ruby wrapper around the Google Chart API, located at code.google.com/apis/chart/
というものがあるのを知った。

これは http://code.google.com/intl/ja/apis/chart/ を ruby から使うための wrapper だ。

rdoc 中のサンプルコードをまとめて走らせてみた。
出力結果は、各グラフ生成要求の url だ。

$ cat sample00.rb
# See http://gchartrb.rubyforge.org/

require 'rubygems'
require 'google_chart'

# ---------------------
bc = GoogleChart::BarChart.new('800x200', "Bar Chart", :vertical, false)
bc.data "Trend 1", [5,4,3,1,3,5], '0000ff'

# Fill Area (Multiple Datasets)
lc = GoogleChart::LineChart.new('320x200', "Line Chart", false) do |lc|
lc.show_legend = false
lc.data "Trend 1", [5,5,6,5,5], 'ff0000'
lc.data "Trend 2", [3,3,4,3,3], '00ff00'
lc.data "Trend 3", [1,1,2,1,1], '0000ff'
lc.data "Trend 4", [0,0,0,0,0], 'ffffff'
lc.fill_area '0000ff',2,3
lc.fill_area '00ff00',1,2
lc.fill_area 'ff0000',0,1
end
puts lc.to_url
puts

# Fill Area (Single Dataset)
lc = GoogleChart::LineChart.new('320x200', "Line Chart", false) do |lc|
lc.show_legend = false
lc.data "Trend 1", [5,5,6,5,5], 'ff0000'
lc.fill_area 'cc6633', 0, 0
end
puts lc.to_url
puts

# ---------------------
flc = GoogleChart::FinancialLineChart.new do |chart|
chart.data "", [3,10,20,37,40,25,68,75,89,99], "ff0000"
end
puts flc.to_url
puts

# ---------------------
# Line Chart
lc = GoogleChart::LineChart.new('320x200', "Line Chart", false)
lc.data "Trend 1", [5,4,3,1,3,5,6], '0000ff'
lc.data "Trend 2", [1,2,3,4,5,6], '00ff00'
lc.data "Trend 3", [6,5,4,3,2,1], 'ff0000'
lc.axis :y, :range => [0,6], :color => 'ff00ff', :font_size => 16, :alignment => :center
lc.axis :x, :range => [0,6], :color => '00ffff', :font_size => 16, :alignment => :center

# Line XY Chart
lcxy = GoogleChart::LineChart.new('320x200', "Line XY Chart", true)
lcxy.data "Trend 1", [[1,1], [2,2], [3,3], [4,4]], '0000ff'
lcxy.data "Trend 2", [[4,5], [2,2], [1,1], [3,4]], '00ff00'
puts lcxy.to_url
puts

# ---------------------
pc = GoogleChart::PieChart.new("600x300", "Food and Drinks Consumed Christmas 2007")
pc.data "Egg nog", 10, '00AF33'
pc.data "Christmas Ham", 20, '4BB74C'
pc.data "Milk (not including egg nog)", 8, 'EE2C2C'
pc.data "Cookies", 25, 'CC3232'
pc.data "Roasted Chestnuts", 5, '33FF33'
pc.data "Chocolate", 3, '66FF66'
pc.data "Various Other Beverages", 15, '9AFF9A'
pc.data "Various Other Foods", 9, 'C1FFC1'
pc.data "Snacks", 5, 'CCFFCC'
puts pc.to_url
puts

# ---------------------
sc = GoogleChart::ScatterChart.new('320x200',"Scatter Chart")
sc.data "Scatter Set", [[1,1,], [2,2], [3,3], [4,4]]
sc.point_sizes [10,15,30,55]
puts sc.to_url
puts

# ---------------------
vd = GoogleChart::VennDiagram.new("320x200", 'Venn Diagram')
vd.data "Blue", 100, '0000ff'
vd.data "Green", 80, '00ff00'
vd.data "Red", 60, 'ff0000'
vd.intersections 30,30,30,10
puts vd.to_url
puts

ruby でも、jruby でも動作する。ここでは jruby で走らせてみた。
$ jruby sample00.rb
http://chart.apis.google.com/chart?chs=320x200&cht=lc&chco=ff0000,00ff00,0000ff,ffffff&chd=s:yy9yy,eeoee,KKUKK,AAAAA&chm=b,0000ff,2,3,0|b,00ff00,1,2,0|b,ff0000,0,1,0&chtt=Line+Chart

http://chart.apis.google.com/chart?chs=320x200&cht=lc&chco=ff0000&chd=s:yy9yy&chm=B,cc6633,0,0,0&chtt=Line+Chart

http://chart.apis.google.com/chart?chs=100x15&cht=lfi&chco=ff0000&chd=s:BGMWYPpu29

http://chart.apis.google.com/chart?chs=320x200&cht=lxy&chco=0000ff,00ff00&chd=s:Pet9,MYkw,9ePt,9YMw&chdl=Trend+1|Trend+2&chtt=Line+XY+Chart

http://chart.apis.google.com/chart?chs=600x300&cht=p&chco=00af33,4bb74c,ee2c2c,cc3232,33ff33,66ff66,9aff9a,c1ffc1,ccffcc&chd=s:YwT9MHkVM&chl=Egg+nog|Christmas+Ham|Milk+(not+including+egg+nog)|Cookies|Roasted+Chestnuts|Chocolate|Various+Other+Beverages|Various+Other+Foods|Snacks&chtt=Food+and+Drinks+Consumed+Christmas+2007

http://chart.apis.google.com/chart?chs=320x200&cht=s&chd=s:Pet9,Pet9,LQh9&chtt=Scatter+Chart

http://chart.apis.google.com/chart?chs=320x200&cht=v&chco=0000ff,00ff00,ff0000&chd=s:9wkSSSG&chdl=Blue|Green|Red&chtt=Venn+Diagram

この blog に引用した 出力 URL には hyperlink を張っておいた。
クリックすると生成されたグラフが瞬時に表示される。

最後のベン図のイメージだけはスクリンショットを示そう。

Ven


出力形式をSVG にしたような類似サービス or API が xfy にもあるとよいと思う。

ピックアップ:ODFのRELAX NGスキーマの欠陥, Rubyによる多次元配列の実装方法について, etc...

- http://www.xmlmaster.org/murata/xmlblog/xb080506.html
> > 村田真のXMLブログ: ODFのRELAX NGスキーマの欠陥

- http://mopkimura.exblog.jp/8533502/
> > キムラ緑子の『いつか~~の前に』 : XOXO

> ...
日本人が英語好きなように外人も、日本語好き
「根性」とか、「気合」、とかの
漢字を刺青するらしいのですが
時折
漢字が間違ってるらしいんですね
> ...
「魂」の「、」がなかったりね
「王様」の「、」があったりですよ
> ...
おそらく「地獄」と、彫りたかったのでしょう(周りが炎の絵だったから)が、
「地国」と彫られた背中に哀愁を感じたとか・・
> ...

- http://d.hatena.ne.jp/yna1962/20071214
> > Rubyによる多次元配列の実装方法について - yna1962の日記

俺のマシンでの実行結果はこれだ。(jruby と ruby で)
# $ jruby array.rb
# DimByStd                 17.129 sec
# DimByAry                  8.971 sec
# DimByHashAry            124.233 sec
# DimByHashPack             8.381 sec
# DimByHashStr             11.240 sec
#
# $ ruby array.rb
# DimByStd                 14.260 sec
# DimByAry                  8.100 sec
# DimByHashAry             65.560 sec
# DimByHashPack            10.870 sec
# DimByHashStr             13.940 sec
#
# $ jruby -v
# ruby 1.8.6 (2008-04-22 rev 6555) [ppc-jruby1.1.1]
# $ ruby -v
# ruby 1.8.6 (2007-09-24 patchlevel 111) [powerpc-darwin8.11.0]
#
# システムのバージョン:    Mac OS X 10.4.11 (8S165)
# カーネルのバージョン:    Darwin 8.11.0   
# コンピュータの機種:    PowerBook6,5
#  CPU タイプ:    PowerPC G4  (1.1)
#  CPU 数:    1
#  CPU 速度:    1.07 GHz

- http://d.hatena.ne.jp/zariganitosh/20080506/1210055878
> > MacBookをPicLens対応サーバにしてiPhoto Libraryを覗いてみる - ザリガニが見ていた...。

- http://vividtone.seesaa.net/article/95815862.html
> > /var/log/maeda.log: Radiant CMSでPerfumeブログのRSSフィード

> ... PerfumeのオフィシャルブログはRSSが出力されていません。日々更新をチェックしにいくのもアミューズにお願いするのも面倒だったので、自分のサーバでRSSフィードを生成・提供するようにしました。...

- http://blog.livedoor.jp/kensuu/archives/50555054.html
> > 勉強が苦手な人向けの「遅延評価勉強法」 : ロケスタ社長日記

- http://rate.livedoor.biz/archives/50636251.html
> > なんでも評点:余命2ヶ月までガンが進行した18歳の少年が2年ぶりの打席で初球をタイムリーヒット — 敵チームも巻き込む感動の渦

- http://neta.ywcafe.net/000851.html
> > 日付と時刻の正しい表現方法 - Web屋のネタ帳

> ...
日付を表現したい場合は YYYY-MM-DD たとえば 2008-05-16
時刻を表現したい場合は hh:mm:ss たとえば 11:25:30
日本時間であることをわかりやすく明記したい場合は 11:25:30+09:00
これが世界的スタンダードとしてISO8601とRFC3339に定められた日付と時刻の表現方法。
> ...

- http://gigazine.net/index.php?/news/comments/20080506_water_photo/
> > 自由なポーズがとれる水中で撮影された美麗写真 - GIGAZINE

- http://gigazine.net/index.php?/news/comments/20080506_h2s/
> > 硫化水素で自殺するための情報をネット上から削除するべきか否か? - GIGAZINE

« 2008年5月6日 | トップページ | 2008年5月8日 »

mokuji

2013年12月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

google

  • twitter
  • __
  • _
    Googleボットチェッカー

合わせて読む

  • 合わせて読む
    フィードメーター - katoy: cocolog あわせて読みたい

リンク