require 'daru/view' Daru::View.plotting_library = :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