Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Pragmatic Charty

Pragmatic Charty

名古屋 Ruby 会議 04

秒速284km

June 08, 2019
Tweet

More Decks by 秒速284km

Other Decks in Programming

Transcript

  1. red-data-tools/charty You need to write very few lines of code

    for representing what you want to do. It lets you focus on your analysis of data, instead of plotting.
  2. Plotting Abstraction Layer PyPlot (matplotlib.pyplot) Gruff rubyplot Google Charts ←

    New!! chart.js (experimental) (bokeh) 実装予定 (Plotly) よさそう。実装予定 GR Framework ( 再考。薄いラッパーを⽤意するか)
  3. Simple usage require 'charty' charty = Charty::Plotter.new(:pyplot) bar_plot = charty.bar

    do series [0,1,2,3,4], [10,40,20,90,70], label: "sample" end bar_plot.render("sample.png")
  4. RubyKaigi 2019 コード懇親会にて 3 ⼈からの合計 3 つの pull request がマージまでたどり着いた。

    内 2 ⼈は OSS のコードで pull request ははじめだったとのこと これらは⾃分以外の⼈が開発をしたから分かったモノ達である。 Unstrict dependency version for bundler by tomog105 · Pull Request #4 · red-data-tools/charty Adds MacOS installation to README by Chinats · Pull Request #5 · red-data-tools/charty Fix typo in examples/daru.rb by kantarow · Pull Request #6 · red-data-tools/charty
  5. RubyKaigi 2019 の翌⽇ After Hack にて 実際に使っている backend を⾒てもらえると助かる例: Gruff

    現在は Pyplot がリファレンス実装的位置づけなので( プロット可能な グラフが⼀番多い。などが理由) 直接話しながら背景を踏まえて⼀緒に開発したら捗った例と⾔えそう add an instruction for Ubuntu + pyenv by hasumikin · Pull Request #8 · red-data-tools/charty Add label option to series at README by yaboojp · Pull Request #9 · red-data-tools/charty
  6. RubyKaigi 以降、現在まで Add google charts backend by indigolain · Pull

    Request #11 · red-data-tools/charty Abstract plotter by kantarow · Pull Request #13 · red-data- tools/charty Use volume mount in Dockerfile.dev by kei-s · Pull Request #15 · red-data-tools/charty fix travis ci by katsyoshi · Pull Request #17 · red-data- tools/charty あとは、コミット権を持っている⼈の分は書いていないけれど、裏側 の設計、実装の整理が最近進⾏していたりします。
  7. Development with Docker (@koic さんの " 海外Ruby カンファレンスへの踏み出し⽅" に学ぼう!) (yn-misaki

    さんの 開発環境のに関する話でも⾔及していましたね。) たとえば突然いつもの開発⽤マシンを失うことだってある。そんな時 にもすぐに開発再開が可能となるのは便利。 今ならこれだけで動かせます! $ bundle install $ docker build -f ./Dockerfile.dev -t charty-dev:0.1 . $ docker run -it -v ${PWD}:/charty -w /charty charty-dev:0.1 ./bin/console irb(main):001:0> Charty::VERSION => "0.1.4-dev"
  8. ActiveRecord との組み合わせ image ファイルの場合はまあ、Gruff を置き換えるだけという感じ JavaScript ライブラリと組み合わせた場合はどう? デモをします Chart.js の場合、pan

    とか、pinch in, out をするために hammber.js に依存している辺りがちょっと気になっている。 react だったり、他の何らかの javascript のライブラリと組み合わ せた時⼤丈夫なもの? まだ調べられていない。知っている⽅がいたら教えてほしいで す! こちらはまだ実装が無いのですが、bokeh.js や、plotly の⽅が本 命。という感じはしています。
  9. Future Plans 実⽤的な例を⽰そうと思った時、例えば他の⾔語やライブラリのサ ンプルと同様のデータセットを red-datasets に追加して、同様の こういうことはカバーしています。という⾒せ⽅ができると説得⼒ がありそう。とここ最近考えるようになりました。 最近 Charty

    の interface を変えているせいで、rubydown との連携 が壊れていると思う。直す。(スミマセン Charty を使えそうなところ ( 使うメリットがある部分で使っていく) Charty を導⼊したいとか、既存のグラフライブラリから置き換え たい。気になる。などありましたら是⾮気軽に声をかけてください
  10. Join us! Red Data Tools: https://red-data-tools.github.io/ 次は 6/11( ⽕) OSS

    Gate 東京ミートアップ for Red Data Tools in Speee オンラインのコミュニケーションはこちら! red-data-tools/ja - Gitter