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 = :highcharts
:highcharts
# combo-dual-axes/
opts = {
chart: {
zoomType: 'xy'
},
title: {
text: 'Average Monthly Temperature and Rainfall in Tokyo'
},
subtitle: {
text: 'Source: WorldClimate.com'
},
xAxis: [{
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
crosshair: true
}],
yAxis: [{ # Primary yAxis
labels: {
format: '{value}°C',
style: {
color: "Highcharts.getOptions().colors[1]".js_code
}
},
title: {
text: 'Temperature',
style: {
color: "Highcharts.getOptions().colors[1]".js_code
}
}
}, { # Secondary yAxis
title: {
text: 'Rainfall',
style: {
color: "Highcharts.getOptions().colors[0]".js_code
}
},
labels: {
format: '{value} mm',
style: {
color: "Highcharts.getOptions().colors[0]".js_code
}
},
opposite: true
}],
tooltip: {
shared: true
},
legend: {
layout: 'vertical',
align: 'left',
x: 120,
verticalAlign: 'top',
y: 100,
floating: true,
backgroundColor: "(Highcharts.theme && Highcharts.theme.legendBackgroundColor) || '#FFFFFF'".js_code
},
}
series_dt = [
{
name: 'Rainfall',
type: 'column',
yAxis: 1,
data: [49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4],
tooltip: {
valueSuffix: ' mm'
}
}, {
name: 'Temperature',
type: 'spline',
data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6],
tooltip: {
valueSuffix: '°C'
}
}
]
comb_dual_axis = Daru::View::Plot.new
comb_dual_axis.chart.options = opts;
comb_dual_axis.chart.series_data = series_dt
comb_dual_axis.show_in_iruby
# combo-multi-axes/
opts = {
chart: {
zoomType: 'xy'
},
title: {
text: 'Average Monthly Weather Data for Tokyo'
},
subtitle: {
text: 'Source: WorldClimate.com'
},
xAxis: [{
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
crosshair: true
}],
yAxis: [{ # Primary yAxis
labels: {
format: '{value}°C',
style: {
color: "Highcharts.getOptions().colors[2]".js_code
}
},
title: {
text: 'Temperature',
style: {
color: "Highcharts.getOptions().colors[2]".js_code
}
},
opposite: true
}, { # Secondary yAxis
gridLineWidth: 0,
title: {
text: 'Rainfall',
style: {
color: "Highcharts.getOptions().colors[0]".js_code
}
},
labels: {
format: '{value} mm',
style: {
color: "Highcharts.getOptions().colors[0]".js_code
}
}
}, { # Tertiary yAxis
gridLineWidth: 0,
title: {
text: 'Sea-Level Pressure',
style: {
color: "Highcharts.getOptions().colors[1]".js_code
}
},
labels: {
format: '{value} mb',
style: {
color:" Highcharts.getOptions().colors[1]".js_code
}
},
opposite: true
}],
tooltip: {
shared: true
},
legend: {
layout: 'vertical',
align: 'left',
x: 80,
verticalAlign: 'top',
y: 55,
floating: true,
backgroundColor: "(Highcharts.theme && Highcharts.theme.legendBackgroundColor) || '#FFFFFF'".js_code
},
}
series_dt = [
{
name: 'Rainfall',
type: 'column',
yAxis: 1,
data: [49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4],
tooltip: {
valueSuffix: ' mm'
}
}, {
name: 'Sea-Level Pressure',
type: 'spline',
yAxis: 2,
data: [1016, 1016, 1015.9, 1015.5, 1012.3, 1009.5, 1009.6, 1010.2, 1013.1, 1016.9, 1018.2, 1016.7],
marker: {
enabled: false
},
dashStyle: 'shortdot',
tooltip: {
valueSuffix: ' mb'
}
}, {
name: 'Temperature',
type: 'spline',
data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6],
tooltip: {
valueSuffix: ' °C'
}
}
]
comb_multi_axis = Daru::View::Plot.new
comb_multi_axis.chart.options = opts;
comb_multi_axis.chart.series_data = series_dt
comb_multi_axis.show_in_iruby
# combo-regression
opts = {
chart: {},
xAxis: {
min: -0.5,
max: 5.5
},
yAxis: {
min: 0
},
title: {
text: 'Scatter plot with regression line'
},
}
series_dt = [
{
type: 'line',
name: 'Regression Line',
data: [[0, 1.11], [5, 4.51]],
marker: {
enabled: false
},
states: {
hover: {
lineWidth: 0
}
},
enableMouseTracking: false
}, {
type: 'scatter',
name: 'Observations',
data: [1, 1.5, 2.8, 3.5, 3.9, 4.2],
marker: {
radius: 4
}
}
]
comb_regr = Daru::View::Plot.new
comb_regr.chart.options = opts;
comb_regr.chart.series_data = series_dt
comb_regr.show_in_iruby