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

Charty (RubyGrant 2018)

Charty (RubyGrant 2018)

Charty (RubyGrant 2018) - RubyKaigi 2019 RubyData WorkShop

秒速284km

April 19, 2019
Tweet

More Decks by 秒速284km

Other Decks in Programming

Transcript

  1. Charty (RubyGrant 2018)
    RubyKaigi 2019
    Kazuma Furuhashi ඵ଎@284km

    View full-size slide

  2. Ruby Association Grant 2018
    • 12/1 => Development

    • 1/11 => Intermediate Report

    • 3/11 => Final Report

    • https://www.ruby.or.jp/en/news/20181106

    View full-size slide

  3. What is Charty
    • Charty is an open-source Ruby library for visualizing your data in a simple
    way.

    • https://github.com/red-data-tools/charty

    View full-size slide

  4. red-data-tools/charty
    • In 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.

    • i.e. We aim at convenience.

    View full-size slide

  5. Characteristics of charty
    • Charty has two abstraction layers

    • Data Abstraction Layer

    • Plotting Abstraction Layer

    View full-size slide

  6. Abstraction Layer
    We can do what you want in a
    combination of different
    languages, data structures, and
    libraries.

    View full-size slide

  7. Data Abstraction Layer
    • Daru::DataFrame

    • Numo::NArray

    • NMatrix

    • ActiveRecord

    View full-size slide

  8. Plotting Abstraction Layer
    • Matplotlib

    • Gruff

    • rubyplot

    • chart.js (Experimental implementation) demo later

    • 284km/benchmark_driver-output-charty

    View full-size slide

  9. 284km/benchmark_driver-output-charty
    $ be benchmark-driver examples/parse.yaml -o charty

    View full-size slide

  10. Activeecord x Chart.js

    View full-size slide

  11. Reference:
    • holoviews (Python)

    • Gadfly.jl (Julia)

    • ggplot2 (R)

    • Julia Package GR (GR Framework)

    • Python Package GR (GR Framework)

    • Codes to use via PyCall Library (matplotlib.rb, matplotlib, pyplot ͱ͔)

    • and so on ……

    View full-size slide

  12. Future Plans
    • Data Abstraction Layer

    • Support Red::Arrow

    • Improve benchmark_driver-output-charty

    • Plotting Abstraction Layer

    • Add type of graph that can be output

    • Horizontal bar with Gruff

    • Support bokeh ? maybe.

    • Use in business

    View full-size slide

  13. Red Data Tools
    • https://red-data-tools.github.io/

    • 5/14 (Ր) 19:00 - 21:30

    • Code Party: Today 19:00 - 21:00

    • After Hack: Sun. 10:30 - 17:30

    • Develop together !!

    View full-size slide

  14. Red Data Tools

    View full-size slide