Class: Axlsx::LineChart
Overview
The LineChart is a two dimensional line chart (who would have guessed?) that you can add to your worksheet.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#grouping ⇒ Symbol
must be one of [:percentStacked, :clustered, :standard, :stacked].
Attributes inherited from Chart
#bg_color, #display_blanks_as, #graphic_frame, #legend_position, #plot_visible_only, #rounded_corners, #series, #series_type, #show_legend, #style, #title, #vary_colors, #view_3D
Instance Method Summary collapse
-
#axes ⇒ Axes
The axes for this chart.
-
#cat_axis ⇒ CatAxis
(also: #catAxis)
the category axis.
-
#initialize(frame, options = {}) ⇒ LineChart
constructor
Creates a new line chart object.
-
#node_name ⇒ String
The node name to use in serialization.
-
#to_xml_string(str = +'')) ⇒ String
Serializes the object.
-
#val_axis ⇒ ValAxis
(also: #valAxis)
the category axis.
Methods inherited from Chart
#add_series, #d_lbls, #end_at, #from, #index, #pn, #relationship, #start_at, #title_size=, #to
Methods included from OptionsParser
Constructor Details
#initialize(frame, options = {}) ⇒ LineChart
Creates a new line chart object
47 48 49 50 51 52 53 |
# File 'lib/axlsx/drawing/line_chart.rb', line 47 def initialize(frame, = {}) @vary_colors = false @grouping = :standard super @series_type = LineSeries @d_lbls = nil end |
Instance Attribute Details
#grouping ⇒ Symbol
must be one of [:percentStacked, :clustered, :standard, :stacked]
39 40 41 |
# File 'lib/axlsx/drawing/line_chart.rb', line 39 def grouping @grouping end |
Instance Method Details
#axes ⇒ Axes
The axes for this chart. LineCharts have a category and value axis.
94 95 96 |
# File 'lib/axlsx/drawing/line_chart.rb', line 94 def axes @axes ||= Axes.new(cat_axis: CatAxis, val_axis: ValAxis) end |
#cat_axis ⇒ CatAxis Also known as: catAxis
the category axis
25 26 27 |
# File 'lib/axlsx/drawing/line_chart.rb', line 25 def cat_axis axes[:cat_axis] end |
#node_name ⇒ String
The node name to use in serialization. As LineChart is used as the base class for Liine3DChart we need to be sure to serialize the chart based on the actual class type and not a fixed node name.
65 66 67 68 69 70 71 72 |
# File 'lib/axlsx/drawing/line_chart.rb', line 65 def node_name path = self.class.name if i = path.rindex('::') path = path[(i + 2)..-1] end path[0] = path[0].chr.downcase path end |
#to_xml_string(str = +'')) ⇒ String
Serializes the object
77 78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/axlsx/drawing/line_chart.rb', line 77 def to_xml_string(str = +'') super do str << "<c:" << node_name << ">" str << '<c:grouping val="' << grouping.to_s << '"/>' str << '<c:varyColors val="' << vary_colors.to_s << '"/>' @series.each { |ser| ser.to_xml_string(str) } @d_lbls.to_xml_string(str) if @d_lbls yield if block_given? axes.to_xml_string(str, ids: true) str << "</c:" << node_name << ">" axes.to_xml_string(str) end end |
#val_axis ⇒ ValAxis Also known as: valAxis
the category axis
32 33 34 |
# File 'lib/axlsx/drawing/line_chart.rb', line 32 def val_axis axes[:val_axis] end |