Class: Writexlsx::Chart::Line
- Inherits:
-
Writexlsx::Chart
- Object
- Writexlsx::Chart
- Writexlsx::Chart::Line
- Includes:
- DPtPointWriter, Utility::XmlPrimitives
- Defined in:
- lib/write_xlsx/chart/line.rb
Constant Summary
Constants included from Utility::ChartFormatting
Utility::ChartFormatting::PATTERN_TYPES
Constants included from Utility::Common
Utility::Common::PERL_TRUE_VALUES
Instance Attribute Summary
Attributes inherited from Writexlsx::Chart
#already_inserted, #axis2_ids, #combined, #date_category, #embedded, #formula_data, #formula_ids, #height, #id, #index, #label_position_default, #label_positions, #name, #palette, #protection, #series_index, #width, #writer, #x2_axis, #x_offset, #x_scale, #y2_axis, #y_offset, #y_scale
Instance Method Summary collapse
-
#initialize(subtype) ⇒ Line
constructor
A new instance of Line.
-
#write_chart_type(params) ⇒ Object
Override the virtual superclass method with a chart specific method.
-
#write_line_chart(params) ⇒ Object
Write the <c:lineChart> element.
Methods included from DPtPointWriter
Methods included from Utility::XmlPrimitives
#r_id_attributes, #write_color, #write_xml_declaration, #xml_str
Methods inherited from Writexlsx::Chart
#already_inserted?, factory, #is_secondary?, #set_xml_writer, #write_bar_chart
Methods included from AxisWriter
Methods included from XmlWriter
Methods included from SeriesData
Methods included from Settings
#add_series, #combine, #set_chartarea, #set_drop_lines, #set_embedded_config_data, #set_high_low_lines, #set_legend, #set_plotarea, #set_size, #set_style, #set_table, #set_title, #set_up_down_bars, #set_x2_axis, #set_x_axis, #set_y2_axis, #set_y_axis, #show_blanks_as, #show_hidden_data, #show_na_as_empty_cell
Methods included from Gradient
Methods included from Utility::RichText
#convert_font_args, #get_font_latin_attributes, #get_font_style_attributes, #params_to_font, #underline_attributes, #write_a_body_pr, #write_a_def_rpr, #write_a_end_para_rpr, #write_a_lst_style, #write_a_p_formula, #write_a_p_pr_formula, #write_def_rpr_r_pr_common, #write_tx_pr
Methods included from Utility::ChartFormatting
#color, #dash_types, #fill_properties, #layout_properties, #legend_properties, #line_fill_properties, #line_properties, #palette_color_from_index, #pattern_properties, #value_or_raise, #write_a_solid_fill, #write_a_srgb_clr
Methods included from Utility::Common
#absolute_char, #check_parameter, #float_to_str, #ptrue?, #put_deprecate_message
Constructor Details
#initialize(subtype) ⇒ Line
Returns a new instance of Line.
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/write_xlsx/chart/line.rb', line 26 def initialize(subtype) super @subtype ||= 'standard' @default_marker = Marker.new(type: 'none') @smooth_allowed = 1 # Override and reset the default axis values. @y_axis.defaults[:num_format] = '0%' if @subtype == 'percent_stacked' set_y_axis # Set the available data label positions for this chart type. @label_position_default = 'right' @label_positions = { 'center' => 'ctr', 'right' => 'r', 'left' => 'l', 'above' => 't', 'below' => 'b', # For backward compatibility. 'top' => 't', 'bottom' => 'b' } end |
Instance Method Details
#write_chart_type(params) ⇒ Object
Override the virtual superclass method with a chart specific method.
54 55 56 57 |
# File 'lib/write_xlsx/chart/line.rb', line 54 def write_chart_type(params) # Write the c:barChart element. write_line_chart(params) end |
#write_line_chart(params) ⇒ Object
Write the <c:lineChart> element.
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
# File 'lib/write_xlsx/chart/line.rb', line 62 def write_line_chart(params) series = axes_series(params) return if series.empty? subtype = if @subtype == 'percent_stacked' 'percentStacked' else @subtype end @writer.tag_elements('c:lineChart') do # Write the c:grouping element. write_grouping(subtype) # Write the series elements. series.each { |s| write_series(s) } # Write the c:dropLines element. write_drop_lines # Write the c:hiLowLines element. write_hi_low_lines # Write the c:upDownBars element. # Write the c:marker element. write_marker_value # Write the c:axId elements write_axis_ids(params) end end |