examples/chart_stock.rb in writeexcel-0.5.0 vs examples/chart_stock.rb in writeexcel-0.6.0
- old
+ new
@@ -1,148 +1,148 @@
-#!/usr/bin/ruby -w
-# -*- coding: utf-8 -*-
-#
-###############################################################################
-#
-# A simple demo of Stock charts in Spreadsheet::WriteExcel.
-#
-# reverse('©'), January 2010, John McNamara, jmcnamara@cpan.org
-#
-# original written in Perl by John McNamara
-# converted to Ruby by Hideo Nakamura, cxn03651@msj.biglobe.ne.jp
-#
-require 'writeexcel'
-
-workbook = WriteExcel.new('chart_stock.xls')
-worksheet = workbook.add_worksheet
-
-###############################################################################
-#
-# Set up the data worksheet that the charts will refer to. We read the example
-# data from the __DATA__ section at the end of the file. This simulates
-# reading the data from a database or other source.
-#
-# The default Excel Stock chart is an Open-High-Low-Close chart. Therefore
-# we will need data for each of those series.
-#
-# The layout of the __DATA__ section is similar to the layout of the worksheet.
-#
-
-# Add some formats.
-bold = workbook.add_format(:bold => 1)
-date_format = workbook.add_format(:num_format => 'dd/mm/yyyy')
-
-# Increase the width of the column used for date to make it clearer.
-worksheet.set_column('A:A', 12)
-
-stock_data = [
- %w(Date Open High Low Close),
- ['2009-08-19', 100.00, 104.06, 95.96, 100.34],
- ['2009-08-20', 101.01, 109.08, 100.50, 108.31],
- ['2009-08-23', 110.75, 113.48, 109.05, 109.40],
- ['2009-08-24', 111.24, 111.60, 103.57, 104.87],
- ['2009-08-25', 104.96, 108.00, 103.88, 106.00],
- ['2009-08-26', 104.95, 107.95, 104.66, 107.91],
- ['2009-08-27', 108.10, 108.62, 105.69, 106.15],
- ['2009-08-30', 105.28, 105.49, 102.01, 102.01],
- ['2009-08-31', 102.30, 103.71, 102.16, 102.37]
-]
-
-# Write the data to the worksheet.
-row = 0
-col = 0
-
-headers = stock_data.shift
-worksheet.write(row, col, headers, bold)
-row += 1
-
-stock_data.each do |data|
- date = data.shift
- worksheet.write(row, col, date, date_format)
- worksheet.write(row, col + 1, data)
- row += 1
-end
-
-###############################################################################
-#
-# Example 1. A default Open-High-Low-Close chart with series names, axes labels
-# and a title.
-#
-
-chart1 = workbook.add_chart(:type => 'Chart::Stock')
-
-# Add a series for each of the Open-High-Low-Close columns. The categories are
-# the dates in the first column.
-
-chart1.add_series(
- :categories => '=Sheet1!$A$2:$A$10',
- :values => '=Sheet1!$B$2:$B$10',
- :name => 'Open'
-)
-
-chart1.add_series(
- :categories => '=Sheet1!$A$2:$A$10',
- :values => '=Sheet1!$C$2:$C$10',
- :name => 'High'
-)
-
-chart1.add_series(
- :categories => '=Sheet1!$A$2:$A$10',
- :values => '=Sheet1!$D$2:$D$10',
- :name => 'Low'
-)
-
-chart1.add_series(
- :categories => '=Sheet1!$A$2:$A$10',
- :values => '=Sheet1!$E$2:$E$10',
- :name => 'Close'
-)
-
-# Add a chart title and axes labels.
-chart1.set_title(:name => 'Open-High-Low-Close')
-chart1.set_x_axis(:name => 'Date')
-chart1.set_y_axis(:name => 'Share price')
-
-###############################################################################
-#
-# Example 2. Same as the previous as an embedded chart.
-#
-
-chart2 = workbook.add_chart(:type => 'Chart::Stock', :embedded => 1)
-
-# Add a series for each of the Open-High-Low-Close columns. The categories are
-# the dates in the first column.
-
-chart2.add_series(
- :categories => '=Sheet1!$A$2:$A$10',
- :values => '=Sheet1!$B$2:$B$10',
- :name => 'Open'
-)
-
-chart2.add_series(
- :categories => '=Sheet1!$A$2:$A$10',
- :values => '=Sheet1!$C$2:$C$10',
- :name => 'High'
-)
-
-chart2.add_series(
- :categories => '=Sheet1!$A$2:$A$10',
- :values => '=Sheet1!$D$2:$D$10',
- :name => 'Low'
-)
-
-chart2.add_series(
- :categories => '=Sheet1!$A$2:$A$10',
- :values => '=Sheet1!$E$2:$E$10',
- :name => 'Close'
-)
-
-# Add a chart title and axes labels.
-chart2.set_title(:name => 'Open-High-Low-Close')
-chart2.set_x_axis(:name => 'Date')
-chart2.set_y_axis(:name => 'Share price')
-
-# Insert the chart into the main worksheet.
-worksheet.insert_chart('G2', chart2)
-
-# File save
-workbook.close
+#!/usr/bin/ruby -w
+# -*- coding: utf-8 -*-
+#
+###############################################################################
+#
+# A simple demo of Stock charts in Spreadsheet::WriteExcel.
+#
+# reverse('©'), January 2010, John McNamara, jmcnamara@cpan.org
+#
+# original written in Perl by John McNamara
+# converted to Ruby by Hideo Nakamura, cxn03651@msj.biglobe.ne.jp
+#
+require 'writeexcel'
+
+workbook = WriteExcel.new('chart_stock.xls')
+worksheet = workbook.add_worksheet
+
+###############################################################################
+#
+# Set up the data worksheet that the charts will refer to. We read the example
+# data from the __DATA__ section at the end of the file. This simulates
+# reading the data from a database or other source.
+#
+# The default Excel Stock chart is an Open-High-Low-Close chart. Therefore
+# we will need data for each of those series.
+#
+# The layout of the __DATA__ section is similar to the layout of the worksheet.
+#
+
+# Add some formats.
+bold = workbook.add_format(:bold => 1)
+date_format = workbook.add_format(:num_format => 'dd/mm/yyyy')
+
+# Increase the width of the column used for date to make it clearer.
+worksheet.set_column('A:A', 12)
+
+stock_data = [
+ %w(Date Open High Low Close),
+ ['2009-08-19', 100.00, 104.06, 95.96, 100.34],
+ ['2009-08-20', 101.01, 109.08, 100.50, 108.31],
+ ['2009-08-23', 110.75, 113.48, 109.05, 109.40],
+ ['2009-08-24', 111.24, 111.60, 103.57, 104.87],
+ ['2009-08-25', 104.96, 108.00, 103.88, 106.00],
+ ['2009-08-26', 104.95, 107.95, 104.66, 107.91],
+ ['2009-08-27', 108.10, 108.62, 105.69, 106.15],
+ ['2009-08-30', 105.28, 105.49, 102.01, 102.01],
+ ['2009-08-31', 102.30, 103.71, 102.16, 102.37]
+]
+
+# Write the data to the worksheet.
+row = 0
+col = 0
+
+headers = stock_data.shift
+worksheet.write(row, col, headers, bold)
+row += 1
+
+stock_data.each do |data|
+ date = data.shift
+ worksheet.write(row, col, date, date_format)
+ worksheet.write(row, col + 1, data)
+ row += 1
+end
+
+###############################################################################
+#
+# Example 1. A default Open-High-Low-Close chart with series names, axes labels
+# and a title.
+#
+
+chart1 = workbook.add_chart(:type => 'Chart::Stock')
+
+# Add a series for each of the Open-High-Low-Close columns. The categories are
+# the dates in the first column.
+
+chart1.add_series(
+ :categories => '=Sheet1!$A$2:$A$10',
+ :values => '=Sheet1!$B$2:$B$10',
+ :name => 'Open'
+)
+
+chart1.add_series(
+ :categories => '=Sheet1!$A$2:$A$10',
+ :values => '=Sheet1!$C$2:$C$10',
+ :name => 'High'
+)
+
+chart1.add_series(
+ :categories => '=Sheet1!$A$2:$A$10',
+ :values => '=Sheet1!$D$2:$D$10',
+ :name => 'Low'
+)
+
+chart1.add_series(
+ :categories => '=Sheet1!$A$2:$A$10',
+ :values => '=Sheet1!$E$2:$E$10',
+ :name => 'Close'
+)
+
+# Add a chart title and axes labels.
+chart1.set_title(:name => 'Open-High-Low-Close')
+chart1.set_x_axis(:name => 'Date')
+chart1.set_y_axis(:name => 'Share price')
+
+###############################################################################
+#
+# Example 2. Same as the previous as an embedded chart.
+#
+
+chart2 = workbook.add_chart(:type => 'Chart::Stock', :embedded => 1)
+
+# Add a series for each of the Open-High-Low-Close columns. The categories are
+# the dates in the first column.
+
+chart2.add_series(
+ :categories => '=Sheet1!$A$2:$A$10',
+ :values => '=Sheet1!$B$2:$B$10',
+ :name => 'Open'
+)
+
+chart2.add_series(
+ :categories => '=Sheet1!$A$2:$A$10',
+ :values => '=Sheet1!$C$2:$C$10',
+ :name => 'High'
+)
+
+chart2.add_series(
+ :categories => '=Sheet1!$A$2:$A$10',
+ :values => '=Sheet1!$D$2:$D$10',
+ :name => 'Low'
+)
+
+chart2.add_series(
+ :categories => '=Sheet1!$A$2:$A$10',
+ :values => '=Sheet1!$E$2:$E$10',
+ :name => 'Close'
+)
+
+# Add a chart title and axes labels.
+chart2.set_title(:name => 'Open-High-Low-Close')
+chart2.set_x_axis(:name => 'Date')
+chart2.set_y_axis(:name => 'Share price')
+
+# Insert the chart into the main worksheet.
+worksheet.insert_chart('G2', chart2)
+
+# File save
+workbook.close