require 'daru/view' Daru::View.plotting_library = :googlecharts idx = Daru::Index.new ['Dinosaur', 'Length'] data_rows = [ ['Acrocanthosaurus (top-spined lizard)', 12.2], ['Albertosaurus (Alberta lizard)', 9.1], ['Allosaurus (other lizard)', 12.2], ['Apatosaurus (deceptive lizard)', 22.9], ['Archaeopteryx (ancient wing)', 0.9], ['Argentinosaurus (Argentina lizard)', 36.6], ['Baryonyx (heavy claws)', 9.1], ['Brachiosaurus (arm lizard)', 30.5], ['Ceratosaurus (horned lizard)', 6.1], ['Coelophysis (hollow form)', 2.7], ['Compsognathus (elegant jaw)', 0.9], ['Deinonychus (terrible claw)', 2.7], ['Diplodocus (double beam)', 27.1], ['Dromicelomimus (emu mimic)', 3.4], ['Gallimimus (fowl mimic)', 5.5], ['Mamenchisaurus (Mamenchi lizard)', 21.0], ['Megalosaurus (big lizard)', 7.9], ['Microvenator (small hunter)', 1.2], ['Ornithomimus (bird mimic)', 4.6], ['Oviraptor (egg robber)', 1.5], ['Plateosaurus (flat lizard)', 7.9], ['Sauronithoides (narrow-clawed lizard)', 2.0], ['Seismosaurus (tremor lizard)', 45.7], ['Spinosaurus (spiny lizard)', 12.2], ['Supersaurus (super lizard)', 30.5], ['Tyrannosaurus (tyrant lizard)', 15.2], ['Ultrasaurus (ultra lizard)', 30.5], ['Velociraptor (swift robber)', 1.8] ] df_dino_length = Daru::DataFrame.rows(data_rows) df_dino_length.vectors = idx df_dino_length histo_table = Daru::View::Table.new(df_dino_length, height: 300, width: 200) histo_table.show_in_iruby histo_options = { title: 'Lengths of dinosaurs, in meters', legend: { position: 'none' }, type: :histogram, height: 400 } histo_chart = Daru::View::Plot.new(histo_table, histo_options) histo_chart.show_in_iruby histo_options = { title: 'Lengths of dinosaurs, in meters', colors: ['#e7711c'], histogram: { lastBucketPercentile: 5 }, vAxis: { scaleType: 'mirrorLog' }, type: :histogram, height: 400 } histo_chart = Daru::View::Plot.new(histo_table, histo_options) histo_chart.show_in_iruby histo_options = { title: 'Lengths of dinosaurs, in meters', colors: ['#e7711c'], histogram: { bucketSize: 10000000 }, type: :histogram, height: 400 } histo_chart = Daru::View::Plot.new(histo_table, histo_options) histo_chart.show_in_iruby tick = Array df_dino_length['Length'].sort.uniq histo_options = { title: 'Lengths of dinosaurs, in meters', colors: ['#4285F4'], chartArea: { width: 401 }, hAxis: { ticks: tick }, bar: { gap: 0 }, histogram: { bucketSize: 0.02, maxNumBuckets: 200, minValue: -1, maxValue: 1 }, type: :histogram, height: 400 } histo_chart = Daru::View::Plot.new(histo_table, histo_options) histo_chart.show_in_iruby idx = Daru::Index.new ['Quarks', 'Leptons', 'Gauge Bosons', 'Scalar Bosons'] data_rows = [ [2.0/3, -1, 0, 0], [2/3.0, -1, 0, nil], [2/3.0, -1, 0, nil], [-1.0/3, 0, 1, nil], [-1/3.0, 0, -1, nil], [-1.0/3, 0, nil, nil], [-1.0/3, 0, nil, nil] ] df_subatomic = Daru::DataFrame.rows(data_rows) df_subatomic.vectors = idx df_subatomic histo_multiple_options = { title: 'Charges of subatomic particles', legend: { position: 'top', maxLines: 2 }, colors: ['#5C3292', '#1A8763', '#871B47', '#999999'], interpolateNulls: false, type: :histogram, height: 400 } histo_multiple_chart = Daru::View::Plot.new(df_subatomic, histo_multiple_options) histo_multiple_chart.show_in_iruby