require 'daru/view'
Install the spreadsheet gem version ~>1.1.1 for using spreadsheet functions. Install the mechanize gem version ~>2.7.5 for using mechanize functions.
true
Daru::View.plotting_library = :googlecharts
: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
Dinosaur | Length | |
---|---|---|
0 | Acrocanthosaurus (top-spined lizard) | 12.2 |
1 | Albertosaurus (Alberta lizard) | 9.1 |
2 | Allosaurus (other lizard) | 12.2 |
3 | Apatosaurus (deceptive lizard) | 22.9 |
4 | Archaeopteryx (ancient wing) | 0.9 |
5 | Argentinosaurus (Argentina lizard) | 36.6 |
6 | Baryonyx (heavy claws) | 9.1 |
7 | Brachiosaurus (arm lizard) | 30.5 |
8 | Ceratosaurus (horned lizard) | 6.1 |
9 | Coelophysis (hollow form) | 2.7 |
10 | Compsognathus (elegant jaw) | 0.9 |
11 | Deinonychus (terrible claw) | 2.7 |
12 | Diplodocus (double beam) | 27.1 |
13 | Dromicelomimus (emu mimic) | 3.4 |
14 | Gallimimus (fowl mimic) | 5.5 |
15 | Mamenchisaurus (Mamenchi lizard) | 21.0 |
16 | Megalosaurus (big lizard) | 7.9 |
17 | Microvenator (small hunter) | 1.2 |
18 | Ornithomimus (bird mimic) | 4.6 |
19 | Oviraptor (egg robber) | 1.5 |
20 | Plateosaurus (flat lizard) | 7.9 |
21 | Sauronithoides (narrow-clawed lizard) | 2.0 |
22 | Seismosaurus (tremor lizard) | 45.7 |
23 | Spinosaurus (spiny lizard) | 12.2 |
24 | Supersaurus (super lizard) | 30.5 |
25 | Tyrannosaurus (tyrant lizard) | 15.2 |
26 | Ultrasaurus (ultra lizard) | 30.5 |
27 | Velociraptor (swift robber) | 1.8 |
histo_table = Daru::View::Table.new(df_dino_length, height: 300, width: 200)
histo_table.show_in_iruby
Note: Histogram chart doesn't work in google_visualr
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
[0.9, 1.2, 1.5, 1.8, 2.0, 2.7, 3.4, 4.6, 5.5, 6.1, 7.9, 9.1, 12.2, 15.2, 21.0, 22.9, 27.1, 30.5, 36.6, 45.7]
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
Quarks | Leptons | Gauge Bosons | Scalar Bosons | |
---|---|---|---|---|
0 | 0.6666666666666666 | -1 | 0 | 0 |
1 | 0.6666666666666666 | -1 | 0 | |
2 | 0.6666666666666666 | -1 | 0 | |
3 | -0.3333333333333333 | 0 | 1 | |
4 | -0.3333333333333333 | 0 | -1 | |
5 | -0.3333333333333333 | 0 | ||
6 | -0.3333333333333333 | 0 |
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