diff options
| author | Jean-Philippe Moal <[email protected]> | 2013-10-09 16:38:35 +0200 |
|---|---|---|
| committer | Jean-Philippe Moal <[email protected]> | 2013-10-09 16:38:35 +0200 |
| commit | 3171fa568618e9d75ead1994ed6e3be90b693a47 (patch) | |
| tree | 2d7d5655f60386a70571eaa287f93045ae9c4317 /lib/axlsx/drawing/bubble_chart.rb | |
| parent | 3bf46a00d717d5e991166360bf4a2ece41cc3fbc (diff) | |
| download | caxlsx-3171fa568618e9d75ead1994ed6e3be90b693a47.tar.gz caxlsx-3171fa568618e9d75ead1994ed6e3be90b693a47.zip | |
Add support for bubble charts
Diffstat (limited to 'lib/axlsx/drawing/bubble_chart.rb')
| -rw-r--r-- | lib/axlsx/drawing/bubble_chart.rb | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/lib/axlsx/drawing/bubble_chart.rb b/lib/axlsx/drawing/bubble_chart.rb new file mode 100644 index 00000000..2f2c4595 --- /dev/null +++ b/lib/axlsx/drawing/bubble_chart.rb @@ -0,0 +1,59 @@ +# encoding: UTF-8 +module Axlsx + + # The BubbleChart allows you to insert a bubble chart into your worksheet + # @see Worksheet#add_chart + # @see Chart#add_series + # @see README for an example + class BubbleChart < Chart + + include Axlsx::OptionsParser + + # the x value axis + # @return [ValAxis] + def x_val_axis + axes[:x_val_axis] + end + alias :xValAxis :x_val_axis + + # the y value axis + # @return [ValAxis] + def y_val_axis + axes[:y_val_axis] + end + alias :yValAxis :y_val_axis + + # Creates a new bubble chart + def initialize(frame, options={}) + @vary_colors = 0 + + super(frame, options) + @series_type = BubbleSeries + @d_lbls = nil + parse_options options + end + + # Serializes the object + # @param [String] str + # @return [String] + def to_xml_string(str = '') + super(str) do |str_inner| + str_inner << '<c:bubbleChart>' + str_inner << '<c:varyColors val="' << vary_colors.to_s << '"/>' + @series.each { |ser| ser.to_xml_string(str_inner) } + d_lbls.to_xml_string(str_inner) if @d_lbls + axes.to_xml_string(str_inner, :ids => true) + str_inner << '</c:bubbleChart>' + axes.to_xml_string(str_inner) + end + str + end + + # The axes for the bubble chart. BubbleChart has an x_val_axis and + # a y_val_axis + # @return [Axes] + def axes + @axes ||= Axes.new(:x_val_axis => ValAxis, :y_val_axis => ValAxis) + end + end +end |
