caxlsx 3.0.4 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.yardopts +9 -9
- data/.yardopts_guide +18 -18
- data/CHANGELOG.md +354 -334
- data/LICENSE +21 -21
- data/README.md +168 -170
- data/Rakefile +29 -29
- data/examples/generate.rb +15 -15
- data/lib/axlsx/content_type/abstract_content_type.rb +32 -32
- data/lib/axlsx/content_type/content_type.rb +26 -26
- data/lib/axlsx/content_type/default.rb +25 -25
- data/lib/axlsx/content_type/override.rb +25 -25
- data/lib/axlsx/doc_props/app.rb +235 -235
- data/lib/axlsx/doc_props/core.rb +39 -39
- data/lib/axlsx/drawing/area_chart.rb +99 -99
- data/lib/axlsx/drawing/area_series.rb +110 -110
- data/lib/axlsx/drawing/ax_data_source.rb +26 -26
- data/lib/axlsx/drawing/axes.rb +61 -61
- data/lib/axlsx/drawing/axis.rb +190 -190
- data/lib/axlsx/drawing/bar_3D_chart.rb +148 -151
- data/lib/axlsx/drawing/bar_chart.rb +138 -143
- data/lib/axlsx/drawing/bar_series.rb +97 -80
- data/lib/axlsx/drawing/bubble_chart.rb +59 -59
- data/lib/axlsx/drawing/bubble_series.rb +63 -63
- data/lib/axlsx/drawing/cat_axis.rb +85 -85
- data/lib/axlsx/drawing/chart.rb +276 -276
- data/lib/axlsx/drawing/d_lbls.rb +90 -90
- data/lib/axlsx/drawing/drawing.rb +167 -167
- data/lib/axlsx/drawing/graphic_frame.rb +54 -54
- data/lib/axlsx/drawing/hyperlink.rb +100 -100
- data/lib/axlsx/drawing/line_3D_chart.rb +68 -68
- data/lib/axlsx/drawing/line_chart.rb +99 -99
- data/lib/axlsx/drawing/line_series.rb +110 -110
- data/lib/axlsx/drawing/marker.rb +84 -84
- data/lib/axlsx/drawing/num_data.rb +52 -52
- data/lib/axlsx/drawing/num_data_source.rb +62 -62
- data/lib/axlsx/drawing/num_val.rb +34 -34
- data/lib/axlsx/drawing/one_cell_anchor.rb +99 -99
- data/lib/axlsx/drawing/pic.rb +211 -211
- data/lib/axlsx/drawing/picture_locking.rb +42 -42
- data/lib/axlsx/drawing/pie_3D_chart.rb +47 -47
- data/lib/axlsx/drawing/pie_series.rb +74 -74
- data/lib/axlsx/drawing/scaling.rb +60 -60
- data/lib/axlsx/drawing/scatter_chart.rb +74 -74
- data/lib/axlsx/drawing/scatter_series.rb +129 -98
- data/lib/axlsx/drawing/ser_axis.rb +45 -45
- data/lib/axlsx/drawing/series.rb +69 -69
- data/lib/axlsx/drawing/series_title.rb +25 -25
- data/lib/axlsx/drawing/str_data.rb +42 -42
- data/lib/axlsx/drawing/str_val.rb +34 -34
- data/lib/axlsx/drawing/title.rb +97 -97
- data/lib/axlsx/drawing/two_cell_anchor.rb +97 -97
- data/lib/axlsx/drawing/val_axis.rb +37 -37
- data/lib/axlsx/drawing/view_3D.rb +115 -115
- data/lib/axlsx/drawing/vml_drawing.rb +42 -42
- data/lib/axlsx/drawing/vml_shape.rb +66 -66
- data/lib/axlsx/package.rb +388 -363
- data/lib/axlsx/rels/relationship.rb +130 -130
- data/lib/axlsx/rels/relationships.rb +32 -32
- data/lib/axlsx/stylesheet/border.rb +73 -71
- data/lib/axlsx/stylesheet/border_pr.rb +71 -71
- data/lib/axlsx/stylesheet/cell_alignment.rb +132 -132
- data/lib/axlsx/stylesheet/cell_protection.rb +41 -41
- data/lib/axlsx/stylesheet/cell_style.rb +72 -72
- data/lib/axlsx/stylesheet/color.rb +76 -76
- data/lib/axlsx/stylesheet/dxf.rb +79 -79
- data/lib/axlsx/stylesheet/fill.rb +35 -35
- data/lib/axlsx/stylesheet/font.rb +156 -156
- data/lib/axlsx/stylesheet/gradient_fill.rb +103 -103
- data/lib/axlsx/stylesheet/gradient_stop.rb +37 -37
- data/lib/axlsx/stylesheet/num_fmt.rb +86 -86
- data/lib/axlsx/stylesheet/pattern_fill.rb +73 -73
- data/lib/axlsx/stylesheet/styles.rb +494 -420
- data/lib/axlsx/stylesheet/table_style.rb +54 -54
- data/lib/axlsx/stylesheet/table_style_element.rb +77 -77
- data/lib/axlsx/stylesheet/table_styles.rb +46 -46
- data/lib/axlsx/stylesheet/xf.rb +147 -147
- data/lib/axlsx/util/accessors.rb +64 -64
- data/lib/axlsx/util/constants.rb +410 -401
- data/lib/axlsx/util/mime_type_utils.rb +11 -11
- data/lib/axlsx/util/options_parser.rb +16 -16
- data/lib/axlsx/util/serialized_attributes.rb +89 -89
- data/lib/axlsx/util/simple_typed_list.rb +179 -179
- data/lib/axlsx/util/storage.rb +146 -146
- data/lib/axlsx/util/validators.rb +312 -312
- data/lib/axlsx/util/zip_command.rb +73 -73
- data/lib/axlsx/version.rb +5 -5
- data/lib/axlsx/workbook/defined_name.rb +128 -128
- data/lib/axlsx/workbook/defined_names.rb +21 -21
- data/lib/axlsx/workbook/shared_strings_table.rb +77 -77
- data/lib/axlsx/workbook/workbook.rb +395 -370
- data/lib/axlsx/workbook/workbook_view.rb +80 -80
- data/lib/axlsx/workbook/workbook_views.rb +22 -22
- data/lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb +77 -77
- data/lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb +94 -94
- data/lib/axlsx/workbook/worksheet/auto_filter/filters.rb +244 -244
- data/lib/axlsx/workbook/worksheet/break.rb +35 -35
- data/lib/axlsx/workbook/worksheet/cell.rb +506 -505
- data/lib/axlsx/workbook/worksheet/cell_serializer.rb +164 -164
- data/lib/axlsx/workbook/worksheet/cfvo.rb +60 -60
- data/lib/axlsx/workbook/worksheet/cfvos.rb +18 -18
- data/lib/axlsx/workbook/worksheet/col.rb +145 -145
- data/lib/axlsx/workbook/worksheet/col_breaks.rb +35 -35
- data/lib/axlsx/workbook/worksheet/color_scale.rb +110 -110
- data/lib/axlsx/workbook/worksheet/cols.rb +23 -23
- data/lib/axlsx/workbook/worksheet/comment.rb +91 -91
- data/lib/axlsx/workbook/worksheet/comments.rb +82 -82
- data/lib/axlsx/workbook/worksheet/conditional_formatting.rb +82 -82
- data/lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb +220 -220
- data/lib/axlsx/workbook/worksheet/conditional_formattings.rb +25 -25
- data/lib/axlsx/workbook/worksheet/data_bar.rb +129 -129
- data/lib/axlsx/workbook/worksheet/data_validation.rb +246 -246
- data/lib/axlsx/workbook/worksheet/data_validations.rb +28 -28
- data/lib/axlsx/workbook/worksheet/date_time_converter.rb +30 -30
- data/lib/axlsx/workbook/worksheet/dimension.rb +64 -64
- data/lib/axlsx/workbook/worksheet/header_footer.rb +52 -52
- data/lib/axlsx/workbook/worksheet/icon_set.rb +81 -81
- data/lib/axlsx/workbook/worksheet/merged_cells.rb +37 -37
- data/lib/axlsx/workbook/worksheet/outline_pr.rb +33 -33
- data/lib/axlsx/workbook/worksheet/page_margins.rb +97 -97
- data/lib/axlsx/workbook/worksheet/page_set_up_pr.rb +44 -44
- data/lib/axlsx/workbook/worksheet/page_setup.rb +240 -240
- data/lib/axlsx/workbook/worksheet/pane.rb +139 -139
- data/lib/axlsx/workbook/worksheet/pivot_table.rb +296 -289
- data/lib/axlsx/workbook/worksheet/pivot_table_cache_definition.rb +66 -66
- data/lib/axlsx/workbook/worksheet/pivot_tables.rb +24 -24
- data/lib/axlsx/workbook/worksheet/print_options.rb +39 -39
- data/lib/axlsx/workbook/worksheet/protected_range.rb +47 -47
- data/lib/axlsx/workbook/worksheet/protected_ranges.rb +37 -37
- data/lib/axlsx/workbook/worksheet/rich_text.rb +55 -55
- data/lib/axlsx/workbook/worksheet/rich_text_run.rb +250 -250
- data/lib/axlsx/workbook/worksheet/row.rb +164 -162
- data/lib/axlsx/workbook/worksheet/row_breaks.rb +33 -33
- data/lib/axlsx/workbook/worksheet/selection.rb +101 -101
- data/lib/axlsx/workbook/worksheet/sheet_calc_pr.rb +29 -29
- data/lib/axlsx/workbook/worksheet/sheet_data.rb +27 -27
- data/lib/axlsx/workbook/worksheet/sheet_pr.rb +87 -87
- data/lib/axlsx/workbook/worksheet/sheet_protection.rb +118 -118
- data/lib/axlsx/workbook/worksheet/sheet_view.rb +213 -213
- data/lib/axlsx/workbook/worksheet/table.rb +102 -102
- data/lib/axlsx/workbook/worksheet/table_style_info.rb +49 -49
- data/lib/axlsx/workbook/worksheet/tables.rb +34 -34
- data/lib/axlsx/workbook/worksheet/worksheet.rb +786 -764
- data/lib/axlsx/workbook/worksheet/worksheet_comments.rb +58 -58
- data/lib/axlsx/workbook/worksheet/worksheet_drawing.rb +58 -58
- data/lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb +74 -74
- data/lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb +38 -38
- data/lib/axlsx.rb +185 -170
- data/lib/caxlsx.rb +2 -2
- data/lib/schema/dc.xsd +118 -118
- data/lib/schema/dcmitype.xsd +51 -51
- data/lib/schema/dcterms.xsd +331 -331
- data/lib/schema/dml-chartDrawing.xsd +146 -146
- data/lib/schema/dml-compatibility.xsd +14 -14
- data/lib/schema/dml-lockedCanvas.xsd +11 -11
- data/lib/schema/dml-main.xsd +3048 -3048
- data/lib/schema/dml-picture.xsd +23 -23
- data/lib/schema/dml-spreadsheetDrawing.xsd +185 -185
- data/lib/schema/dml-wordprocessingDrawing.xsd +185 -185
- data/lib/schema/shared-additionalCharacteristics.xsd +28 -28
- data/lib/schema/shared-bibliography.xsd +144 -144
- data/lib/schema/shared-commonSimpleTypes.xsd +166 -166
- data/lib/schema/shared-customXmlDataProperties.xsd +25 -25
- data/lib/schema/shared-customXmlSchemaProperties.xsd +18 -18
- data/lib/schema/shared-documentPropertiesCustom.xsd +59 -59
- data/lib/schema/shared-documentPropertiesExtended.xsd +56 -56
- data/lib/schema/shared-documentPropertiesVariantTypes.xsd +195 -195
- data/lib/schema/shared-relationshipReference.xsd +25 -25
- data/lib/schema/vml-main.xsd +569 -569
- data/lib/schema/vml-officeDrawing.xsd +509 -509
- data/lib/schema/vml-presentationDrawing.xsd +12 -12
- data/lib/schema/vml-spreadsheetDrawing.xsd +108 -108
- data/lib/schema/vml-wordprocessingDrawing.xsd +96 -96
- data/lib/schema/xml.xsd +116 -116
- data/test/benchmark.rb +72 -72
- data/test/content_type/tc_content_type.rb +76 -76
- data/test/content_type/tc_default.rb +16 -16
- data/test/content_type/tc_override.rb +14 -14
- data/test/doc_props/tc_app.rb +43 -43
- data/test/doc_props/tc_core.rb +42 -42
- data/test/drawing/tc_area_chart.rb +39 -39
- data/test/drawing/tc_area_series.rb +71 -71
- data/test/drawing/tc_axes.rb +7 -7
- data/test/drawing/tc_axis.rb +112 -112
- data/test/drawing/tc_bar_3D_chart.rb +86 -71
- data/test/drawing/tc_bar_chart.rb +86 -71
- data/test/drawing/tc_bar_series.rb +46 -37
- data/test/drawing/tc_bubble_chart.rb +44 -44
- data/test/drawing/tc_bubble_series.rb +21 -21
- data/test/drawing/tc_cat_axis.rb +31 -31
- data/test/drawing/tc_cat_axis_data.rb +27 -27
- data/test/drawing/tc_chart.rb +123 -123
- data/test/drawing/tc_d_lbls.rb +57 -57
- data/test/drawing/tc_data_source.rb +23 -23
- data/test/drawing/tc_drawing.rb +80 -80
- data/test/drawing/tc_graphic_frame.rb +27 -27
- data/test/drawing/tc_hyperlink.rb +64 -64
- data/test/drawing/tc_line_3d_chart.rb +47 -47
- data/test/drawing/tc_line_chart.rb +39 -39
- data/test/drawing/tc_line_series.rb +71 -71
- data/test/drawing/tc_marker.rb +44 -44
- data/test/drawing/tc_named_axis_data.rb +27 -27
- data/test/drawing/tc_num_data.rb +31 -31
- data/test/drawing/tc_num_val.rb +29 -29
- data/test/drawing/tc_one_cell_anchor.rb +66 -66
- data/test/drawing/tc_pic.rb +103 -103
- data/test/drawing/tc_picture_locking.rb +72 -72
- data/test/drawing/tc_pie_3D_chart.rb +28 -28
- data/test/drawing/tc_pie_series.rb +33 -33
- data/test/drawing/tc_scaling.rb +36 -36
- data/test/drawing/tc_scatter_chart.rb +48 -48
- data/test/drawing/tc_scatter_series.rb +74 -56
- data/test/drawing/tc_ser_axis.rb +31 -31
- data/test/drawing/tc_series.rb +23 -23
- data/test/drawing/tc_series_title.rb +54 -54
- data/test/drawing/tc_str_data.rb +18 -18
- data/test/drawing/tc_str_val.rb +30 -30
- data/test/drawing/tc_title.rb +70 -70
- data/test/drawing/tc_two_cell_anchor.rb +36 -36
- data/test/drawing/tc_val_axis.rb +24 -24
- data/test/drawing/tc_view_3D.rb +54 -54
- data/test/drawing/tc_vml_drawing.rb +25 -25
- data/test/drawing/tc_vml_shape.rb +106 -106
- data/test/profile.rb +24 -24
- data/test/rels/tc_relationship.rb +52 -52
- data/test/rels/tc_relationships.rb +37 -37
- data/test/stylesheet/tc_border.rb +37 -37
- data/test/stylesheet/tc_border_pr.rb +32 -32
- data/test/stylesheet/tc_cell_alignment.rb +81 -81
- data/test/stylesheet/tc_cell_protection.rb +29 -29
- data/test/stylesheet/tc_cell_style.rb +57 -57
- data/test/stylesheet/tc_color.rb +43 -43
- data/test/stylesheet/tc_dxf.rb +81 -81
- data/test/stylesheet/tc_fill.rb +18 -18
- data/test/stylesheet/tc_font.rb +133 -133
- data/test/stylesheet/tc_gradient_fill.rb +72 -72
- data/test/stylesheet/tc_gradient_stop.rb +31 -31
- data/test/stylesheet/tc_num_fmt.rb +30 -30
- data/test/stylesheet/tc_pattern_fill.rb +43 -43
- data/test/stylesheet/tc_styles.rb +309 -261
- data/test/stylesheet/tc_table_style.rb +44 -44
- data/test/stylesheet/tc_table_style_element.rb +45 -45
- data/test/stylesheet/tc_table_styles.rb +29 -29
- data/test/stylesheet/tc_xf.rb +120 -120
- data/test/tc_axlsx.rb +109 -109
- data/test/tc_helper.rb +10 -12
- data/test/tc_package.rb +317 -264
- data/test/util/tc_mime_type_utils.rb +13 -13
- data/test/util/tc_serialized_attributes.rb +19 -19
- data/test/util/tc_simple_typed_list.rb +77 -77
- data/test/util/tc_validators.rb +210 -210
- data/test/workbook/tc_defined_name.rb +49 -49
- data/test/workbook/tc_shared_strings_table.rb +59 -59
- data/test/workbook/tc_workbook.rb +165 -160
- data/test/workbook/tc_workbook_view.rb +50 -50
- data/test/workbook/worksheet/auto_filter/tc_auto_filter.rb +38 -38
- data/test/workbook/worksheet/auto_filter/tc_filter_column.rb +76 -76
- data/test/workbook/worksheet/auto_filter/tc_filters.rb +50 -50
- data/test/workbook/worksheet/tc_break.rb +49 -49
- data/test/workbook/worksheet/tc_cell.rb +465 -453
- data/test/workbook/worksheet/tc_cfvo.rb +31 -31
- data/test/workbook/worksheet/tc_col.rb +93 -93
- data/test/workbook/worksheet/tc_color_scale.rb +58 -58
- data/test/workbook/worksheet/tc_comment.rb +72 -72
- data/test/workbook/worksheet/tc_comments.rb +57 -57
- data/test/workbook/worksheet/tc_conditional_formatting.rb +224 -224
- data/test/workbook/worksheet/tc_data_bar.rb +46 -46
- data/test/workbook/worksheet/tc_data_validation.rb +265 -265
- data/test/workbook/worksheet/tc_date_time_converter.rb +124 -124
- data/test/workbook/worksheet/tc_header_footer.rb +151 -151
- data/test/workbook/worksheet/tc_icon_set.rb +45 -45
- data/test/workbook/worksheet/tc_outline_pr.rb +19 -19
- data/test/workbook/worksheet/tc_page_margins.rb +97 -97
- data/test/workbook/worksheet/tc_page_set_up_pr.rb +15 -15
- data/test/workbook/worksheet/tc_page_setup.rb +143 -143
- data/test/workbook/worksheet/tc_pane.rb +54 -54
- data/test/workbook/worksheet/tc_pivot_table.rb +180 -135
- data/test/workbook/worksheet/tc_pivot_table_cache_definition.rb +62 -54
- data/test/workbook/worksheet/tc_print_options.rb +72 -72
- data/test/workbook/worksheet/tc_protected_range.rb +17 -17
- data/test/workbook/worksheet/tc_rich_text.rb +44 -44
- data/test/workbook/worksheet/tc_rich_text_run.rb +173 -173
- data/test/workbook/worksheet/tc_row.rb +160 -139
- data/test/workbook/worksheet/tc_selection.rb +55 -55
- data/test/workbook/worksheet/tc_sheet_calc_pr.rb +18 -18
- data/test/workbook/worksheet/tc_sheet_format_pr.rb +88 -88
- data/test/workbook/worksheet/tc_sheet_pr.rb +49 -49
- data/test/workbook/worksheet/tc_sheet_protection.rb +117 -117
- data/test/workbook/worksheet/tc_sheet_view.rb +214 -214
- data/test/workbook/worksheet/tc_table.rb +77 -67
- data/test/workbook/worksheet/tc_table_style_info.rb +53 -53
- data/test/workbook/worksheet/tc_worksheet.rb +632 -601
- data/test/workbook/worksheet/tc_worksheet_hyperlink.rb +55 -55
- metadata +11 -11
|
@@ -1,74 +1,74 @@
|
|
|
1
|
-
# encoding: UTF-8
|
|
2
|
-
module Axlsx
|
|
3
|
-
|
|
4
|
-
# A PieSeries defines the data and labels and explosion for pie charts series.
|
|
5
|
-
# @note The recommended way to manage series is to use Chart#add_series
|
|
6
|
-
# @see Worksheet#add_chart
|
|
7
|
-
# @see Chart#add_series
|
|
8
|
-
class PieSeries < Series
|
|
9
|
-
|
|
10
|
-
# The data for this series.
|
|
11
|
-
# @return [SimpleTypedList]
|
|
12
|
-
attr_reader :data
|
|
13
|
-
|
|
14
|
-
# The labels for this series.
|
|
15
|
-
# @return [SimpleTypedList]
|
|
16
|
-
attr_reader :labels
|
|
17
|
-
|
|
18
|
-
# The explosion for this series
|
|
19
|
-
# @return [Integert]
|
|
20
|
-
attr_reader :explosion
|
|
21
|
-
|
|
22
|
-
# An array of rgb colors to apply to your bar chart.
|
|
23
|
-
attr_reader :colors
|
|
24
|
-
|
|
25
|
-
# Creates a new series
|
|
26
|
-
# @option options [Array, SimpleTypedList] data
|
|
27
|
-
# @option options [Array, SimpleTypedList] labels
|
|
28
|
-
# @option options [String] title
|
|
29
|
-
# @option options [Integer] explosion
|
|
30
|
-
# @param [Chart] chart
|
|
31
|
-
def initialize(chart, options={})
|
|
32
|
-
@explosion = nil
|
|
33
|
-
@colors = []
|
|
34
|
-
super(chart, options)
|
|
35
|
-
self.labels = AxDataSource.new(:data => options[:labels]) unless options[:labels].nil?
|
|
36
|
-
self.data = NumDataSource.new(options) unless options[:data].nil?
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
# @see colors
|
|
40
|
-
def colors=(v) DataTypeValidator.validate "BarSeries.colors", [Array], v; @colors = v end
|
|
41
|
-
|
|
42
|
-
# @see explosion
|
|
43
|
-
def explosion=(v) Axlsx::validate_unsigned_int(v); @explosion = v; end
|
|
44
|
-
|
|
45
|
-
# Serializes the object
|
|
46
|
-
# @param [String] str
|
|
47
|
-
# @return [String]
|
|
48
|
-
def to_xml_string(str = '')
|
|
49
|
-
super(str) do
|
|
50
|
-
str << '<c:explosion val="' + @explosion.to_s + '"/>' unless @explosion.nil?
|
|
51
|
-
colors.each_with_index do |c, index|
|
|
52
|
-
str << '<c:dPt>'
|
|
53
|
-
str << ('<c:idx val="' << index.to_s << '"/>')
|
|
54
|
-
str << '<c:spPr><a:solidFill>'
|
|
55
|
-
str << ('<a:srgbClr val="' << c << '"/>')
|
|
56
|
-
str << '</a:solidFill></c:spPr></c:dPt>'
|
|
57
|
-
end
|
|
58
|
-
@labels.to_xml_string str unless @labels.nil?
|
|
59
|
-
@data.to_xml_string str unless @data.nil?
|
|
60
|
-
end
|
|
61
|
-
str
|
|
62
|
-
end
|
|
63
|
-
|
|
64
|
-
private
|
|
65
|
-
|
|
66
|
-
# assigns the data for this series
|
|
67
|
-
def data=(v) DataTypeValidator.validate "Series.data", [NumDataSource], v; @data = v; end
|
|
68
|
-
|
|
69
|
-
# assigns the labels for this series
|
|
70
|
-
def labels=(v) DataTypeValidator.validate "Series.labels", [AxDataSource], v; @labels = v; end
|
|
71
|
-
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
end
|
|
1
|
+
# encoding: UTF-8
|
|
2
|
+
module Axlsx
|
|
3
|
+
|
|
4
|
+
# A PieSeries defines the data and labels and explosion for pie charts series.
|
|
5
|
+
# @note The recommended way to manage series is to use Chart#add_series
|
|
6
|
+
# @see Worksheet#add_chart
|
|
7
|
+
# @see Chart#add_series
|
|
8
|
+
class PieSeries < Series
|
|
9
|
+
|
|
10
|
+
# The data for this series.
|
|
11
|
+
# @return [SimpleTypedList]
|
|
12
|
+
attr_reader :data
|
|
13
|
+
|
|
14
|
+
# The labels for this series.
|
|
15
|
+
# @return [SimpleTypedList]
|
|
16
|
+
attr_reader :labels
|
|
17
|
+
|
|
18
|
+
# The explosion for this series
|
|
19
|
+
# @return [Integert]
|
|
20
|
+
attr_reader :explosion
|
|
21
|
+
|
|
22
|
+
# An array of rgb colors to apply to your bar chart.
|
|
23
|
+
attr_reader :colors
|
|
24
|
+
|
|
25
|
+
# Creates a new series
|
|
26
|
+
# @option options [Array, SimpleTypedList] data
|
|
27
|
+
# @option options [Array, SimpleTypedList] labels
|
|
28
|
+
# @option options [String] title
|
|
29
|
+
# @option options [Integer] explosion
|
|
30
|
+
# @param [Chart] chart
|
|
31
|
+
def initialize(chart, options={})
|
|
32
|
+
@explosion = nil
|
|
33
|
+
@colors = []
|
|
34
|
+
super(chart, options)
|
|
35
|
+
self.labels = AxDataSource.new(:data => options[:labels]) unless options[:labels].nil?
|
|
36
|
+
self.data = NumDataSource.new(options) unless options[:data].nil?
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# @see colors
|
|
40
|
+
def colors=(v) DataTypeValidator.validate "BarSeries.colors", [Array], v; @colors = v end
|
|
41
|
+
|
|
42
|
+
# @see explosion
|
|
43
|
+
def explosion=(v) Axlsx::validate_unsigned_int(v); @explosion = v; end
|
|
44
|
+
|
|
45
|
+
# Serializes the object
|
|
46
|
+
# @param [String] str
|
|
47
|
+
# @return [String]
|
|
48
|
+
def to_xml_string(str = '')
|
|
49
|
+
super(str) do
|
|
50
|
+
str << '<c:explosion val="' + @explosion.to_s + '"/>' unless @explosion.nil?
|
|
51
|
+
colors.each_with_index do |c, index|
|
|
52
|
+
str << '<c:dPt>'
|
|
53
|
+
str << ('<c:idx val="' << index.to_s << '"/>')
|
|
54
|
+
str << '<c:spPr><a:solidFill>'
|
|
55
|
+
str << ('<a:srgbClr val="' << c << '"/>')
|
|
56
|
+
str << '</a:solidFill></c:spPr></c:dPt>'
|
|
57
|
+
end
|
|
58
|
+
@labels.to_xml_string str unless @labels.nil?
|
|
59
|
+
@data.to_xml_string str unless @data.nil?
|
|
60
|
+
end
|
|
61
|
+
str
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
private
|
|
65
|
+
|
|
66
|
+
# assigns the data for this series
|
|
67
|
+
def data=(v) DataTypeValidator.validate "Series.data", [NumDataSource], v; @data = v; end
|
|
68
|
+
|
|
69
|
+
# assigns the labels for this series
|
|
70
|
+
def labels=(v) DataTypeValidator.validate "Series.labels", [AxDataSource], v; @labels = v; end
|
|
71
|
+
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
end
|
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
# encoding: UTF-8
|
|
2
|
-
module Axlsx
|
|
3
|
-
# The Scaling class defines axis scaling
|
|
4
|
-
class Scaling
|
|
5
|
-
|
|
6
|
-
include Axlsx::OptionsParser
|
|
7
|
-
|
|
8
|
-
# creates a new Scaling object
|
|
9
|
-
# @option options [Integer] logBase
|
|
10
|
-
# @option options [Symbol] orientation
|
|
11
|
-
# @option options [Float] max
|
|
12
|
-
# @option options [Float] min
|
|
13
|
-
def initialize(options={})
|
|
14
|
-
@orientation = :minMax
|
|
15
|
-
@logBase, @min, @max = nil, nil, nil
|
|
16
|
-
parse_options options
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
# logarithmic base for a logarithmic axis.
|
|
20
|
-
# must be between 2 and 1000
|
|
21
|
-
# @return [Integer]
|
|
22
|
-
attr_reader :logBase
|
|
23
|
-
|
|
24
|
-
# the orientation of the axis
|
|
25
|
-
# must be one of [:minMax, :maxMin]
|
|
26
|
-
# @return [Symbol]
|
|
27
|
-
attr_reader :orientation
|
|
28
|
-
|
|
29
|
-
# the maximum scaling
|
|
30
|
-
# @return [Float]
|
|
31
|
-
attr_reader :max
|
|
32
|
-
|
|
33
|
-
# the minimu scaling
|
|
34
|
-
# @return [Float]
|
|
35
|
-
attr_reader :min
|
|
36
|
-
|
|
37
|
-
# @see logBase
|
|
38
|
-
def logBase=(v) DataTypeValidator.validate "Scaling.logBase", [Integer], v, lambda { |arg| arg >= 2 && arg <= 1000}; @logBase = v; end
|
|
39
|
-
# @see orientation
|
|
40
|
-
def orientation=(v) RestrictionValidator.validate "Scaling.orientation", [:minMax, :maxMin], v; @orientation = v; end
|
|
41
|
-
# @see max
|
|
42
|
-
def max=(v) DataTypeValidator.validate "Scaling.max", Float, v; @max = v; end
|
|
43
|
-
|
|
44
|
-
# @see min
|
|
45
|
-
def min=(v) DataTypeValidator.validate "Scaling.min", Float, v; @min = v; end
|
|
46
|
-
|
|
47
|
-
# Serializes the object
|
|
48
|
-
# @param [String] str
|
|
49
|
-
# @return [String]
|
|
50
|
-
def to_xml_string(str = '')
|
|
51
|
-
str << '<c:scaling>'
|
|
52
|
-
str << ('<c:logBase val="' << @logBase.to_s << '"/>') unless @logBase.nil?
|
|
53
|
-
str << ('<c:orientation val="' << @orientation.to_s << '"/>') unless @orientation.nil?
|
|
54
|
-
str << ('<c:min val="' << @min.to_s << '"/>') unless @min.nil?
|
|
55
|
-
str << ('<c:max val="' << @max.to_s << '"/>') unless @max.nil?
|
|
56
|
-
str << '</c:scaling>'
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
end
|
|
60
|
-
end
|
|
1
|
+
# encoding: UTF-8
|
|
2
|
+
module Axlsx
|
|
3
|
+
# The Scaling class defines axis scaling
|
|
4
|
+
class Scaling
|
|
5
|
+
|
|
6
|
+
include Axlsx::OptionsParser
|
|
7
|
+
|
|
8
|
+
# creates a new Scaling object
|
|
9
|
+
# @option options [Integer] logBase
|
|
10
|
+
# @option options [Symbol] orientation
|
|
11
|
+
# @option options [Float] max
|
|
12
|
+
# @option options [Float] min
|
|
13
|
+
def initialize(options={})
|
|
14
|
+
@orientation = :minMax
|
|
15
|
+
@logBase, @min, @max = nil, nil, nil
|
|
16
|
+
parse_options options
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# logarithmic base for a logarithmic axis.
|
|
20
|
+
# must be between 2 and 1000
|
|
21
|
+
# @return [Integer]
|
|
22
|
+
attr_reader :logBase
|
|
23
|
+
|
|
24
|
+
# the orientation of the axis
|
|
25
|
+
# must be one of [:minMax, :maxMin]
|
|
26
|
+
# @return [Symbol]
|
|
27
|
+
attr_reader :orientation
|
|
28
|
+
|
|
29
|
+
# the maximum scaling
|
|
30
|
+
# @return [Float]
|
|
31
|
+
attr_reader :max
|
|
32
|
+
|
|
33
|
+
# the minimu scaling
|
|
34
|
+
# @return [Float]
|
|
35
|
+
attr_reader :min
|
|
36
|
+
|
|
37
|
+
# @see logBase
|
|
38
|
+
def logBase=(v) DataTypeValidator.validate "Scaling.logBase", [Integer], v, lambda { |arg| arg >= 2 && arg <= 1000}; @logBase = v; end
|
|
39
|
+
# @see orientation
|
|
40
|
+
def orientation=(v) RestrictionValidator.validate "Scaling.orientation", [:minMax, :maxMin], v; @orientation = v; end
|
|
41
|
+
# @see max
|
|
42
|
+
def max=(v) DataTypeValidator.validate "Scaling.max", Float, v; @max = v; end
|
|
43
|
+
|
|
44
|
+
# @see min
|
|
45
|
+
def min=(v) DataTypeValidator.validate "Scaling.min", Float, v; @min = v; end
|
|
46
|
+
|
|
47
|
+
# Serializes the object
|
|
48
|
+
# @param [String] str
|
|
49
|
+
# @return [String]
|
|
50
|
+
def to_xml_string(str = '')
|
|
51
|
+
str << '<c:scaling>'
|
|
52
|
+
str << ('<c:logBase val="' << @logBase.to_s << '"/>') unless @logBase.nil?
|
|
53
|
+
str << ('<c:orientation val="' << @orientation.to_s << '"/>') unless @orientation.nil?
|
|
54
|
+
str << ('<c:min val="' << @min.to_s << '"/>') unless @min.nil?
|
|
55
|
+
str << ('<c:max val="' << @max.to_s << '"/>') unless @max.nil?
|
|
56
|
+
str << '</c:scaling>'
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
end
|
|
60
|
+
end
|
|
@@ -1,74 +1,74 @@
|
|
|
1
|
-
# encoding: UTF-8
|
|
2
|
-
module Axlsx
|
|
3
|
-
|
|
4
|
-
# The ScatterChart allows you to insert a scatter chart into your worksheet
|
|
5
|
-
# @see Worksheet#add_chart
|
|
6
|
-
# @see Chart#add_series
|
|
7
|
-
# @see README for an example
|
|
8
|
-
class ScatterChart < Chart
|
|
9
|
-
|
|
10
|
-
include Axlsx::OptionsParser
|
|
11
|
-
|
|
12
|
-
# The Style for the scatter chart
|
|
13
|
-
# must be one of :none | :line | :lineMarker | :marker | :smooth | :smoothMarker
|
|
14
|
-
# return [Symbol]
|
|
15
|
-
attr_reader :scatter_style
|
|
16
|
-
alias :scatterStyle :scatter_style
|
|
17
|
-
|
|
18
|
-
# the x value axis
|
|
19
|
-
# @return [ValAxis]
|
|
20
|
-
def x_val_axis
|
|
21
|
-
axes[:x_val_axis]
|
|
22
|
-
end
|
|
23
|
-
alias :xValAxis :x_val_axis
|
|
24
|
-
|
|
25
|
-
# the y value axis
|
|
26
|
-
# @return [ValAxis]
|
|
27
|
-
def y_val_axis
|
|
28
|
-
axes[:y_val_axis]
|
|
29
|
-
end
|
|
30
|
-
alias :yValAxis :y_val_axis
|
|
31
|
-
|
|
32
|
-
# Creates a new scatter chart
|
|
33
|
-
def initialize(frame, options={})
|
|
34
|
-
@vary_colors = 0
|
|
35
|
-
@scatter_style = :lineMarker
|
|
36
|
-
|
|
37
|
-
super(frame, options)
|
|
38
|
-
@series_type = ScatterSeries
|
|
39
|
-
@d_lbls = nil
|
|
40
|
-
parse_options options
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
# see #scatterStyle
|
|
44
|
-
def scatter_style=(v)
|
|
45
|
-
Axlsx.validate_scatter_style(v)
|
|
46
|
-
@scatter_style = v
|
|
47
|
-
end
|
|
48
|
-
alias :scatterStyle= :scatter_style=
|
|
49
|
-
|
|
50
|
-
# Serializes the object
|
|
51
|
-
# @param [String] str
|
|
52
|
-
# @return [String]
|
|
53
|
-
def to_xml_string(str = '')
|
|
54
|
-
super(str) do
|
|
55
|
-
str << '<c:scatterChart>'
|
|
56
|
-
str << ('<c:scatterStyle val="' << scatter_style.to_s << '"/>')
|
|
57
|
-
str << ('<c:varyColors val="' << vary_colors.to_s << '"/>')
|
|
58
|
-
@series.each { |ser| ser.to_xml_string(str) }
|
|
59
|
-
d_lbls.to_xml_string(str) if @d_lbls
|
|
60
|
-
axes.to_xml_string(str, :ids => true)
|
|
61
|
-
str << '</c:scatterChart>'
|
|
62
|
-
axes.to_xml_string(str)
|
|
63
|
-
end
|
|
64
|
-
str
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
# The axes for the scatter chart. ScatterChart has an x_val_axis and
|
|
68
|
-
# a y_val_axis
|
|
69
|
-
# @return [Axes]
|
|
70
|
-
def axes
|
|
71
|
-
@axes ||= Axes.new(:x_val_axis => ValAxis, :y_val_axis => ValAxis)
|
|
72
|
-
end
|
|
73
|
-
end
|
|
74
|
-
end
|
|
1
|
+
# encoding: UTF-8
|
|
2
|
+
module Axlsx
|
|
3
|
+
|
|
4
|
+
# The ScatterChart allows you to insert a scatter chart into your worksheet
|
|
5
|
+
# @see Worksheet#add_chart
|
|
6
|
+
# @see Chart#add_series
|
|
7
|
+
# @see README for an example
|
|
8
|
+
class ScatterChart < Chart
|
|
9
|
+
|
|
10
|
+
include Axlsx::OptionsParser
|
|
11
|
+
|
|
12
|
+
# The Style for the scatter chart
|
|
13
|
+
# must be one of :none | :line | :lineMarker | :marker | :smooth | :smoothMarker
|
|
14
|
+
# return [Symbol]
|
|
15
|
+
attr_reader :scatter_style
|
|
16
|
+
alias :scatterStyle :scatter_style
|
|
17
|
+
|
|
18
|
+
# the x value axis
|
|
19
|
+
# @return [ValAxis]
|
|
20
|
+
def x_val_axis
|
|
21
|
+
axes[:x_val_axis]
|
|
22
|
+
end
|
|
23
|
+
alias :xValAxis :x_val_axis
|
|
24
|
+
|
|
25
|
+
# the y value axis
|
|
26
|
+
# @return [ValAxis]
|
|
27
|
+
def y_val_axis
|
|
28
|
+
axes[:y_val_axis]
|
|
29
|
+
end
|
|
30
|
+
alias :yValAxis :y_val_axis
|
|
31
|
+
|
|
32
|
+
# Creates a new scatter chart
|
|
33
|
+
def initialize(frame, options={})
|
|
34
|
+
@vary_colors = 0
|
|
35
|
+
@scatter_style = :lineMarker
|
|
36
|
+
|
|
37
|
+
super(frame, options)
|
|
38
|
+
@series_type = ScatterSeries
|
|
39
|
+
@d_lbls = nil
|
|
40
|
+
parse_options options
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# see #scatterStyle
|
|
44
|
+
def scatter_style=(v)
|
|
45
|
+
Axlsx.validate_scatter_style(v)
|
|
46
|
+
@scatter_style = v
|
|
47
|
+
end
|
|
48
|
+
alias :scatterStyle= :scatter_style=
|
|
49
|
+
|
|
50
|
+
# Serializes the object
|
|
51
|
+
# @param [String] str
|
|
52
|
+
# @return [String]
|
|
53
|
+
def to_xml_string(str = '')
|
|
54
|
+
super(str) do
|
|
55
|
+
str << '<c:scatterChart>'
|
|
56
|
+
str << ('<c:scatterStyle val="' << scatter_style.to_s << '"/>')
|
|
57
|
+
str << ('<c:varyColors val="' << vary_colors.to_s << '"/>')
|
|
58
|
+
@series.each { |ser| ser.to_xml_string(str) }
|
|
59
|
+
d_lbls.to_xml_string(str) if @d_lbls
|
|
60
|
+
axes.to_xml_string(str, :ids => true)
|
|
61
|
+
str << '</c:scatterChart>'
|
|
62
|
+
axes.to_xml_string(str)
|
|
63
|
+
end
|
|
64
|
+
str
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
# The axes for the scatter chart. ScatterChart has an x_val_axis and
|
|
68
|
+
# a y_val_axis
|
|
69
|
+
# @return [Axes]
|
|
70
|
+
def axes
|
|
71
|
+
@axes ||= Axes.new(:x_val_axis => ValAxis, :y_val_axis => ValAxis)
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
@@ -1,98 +1,129 @@
|
|
|
1
|
-
# encoding: UTF-8
|
|
2
|
-
module Axlsx
|
|
3
|
-
|
|
4
|
-
# A ScatterSeries defines the x and y position of data in the chart
|
|
5
|
-
# @note The recommended way to manage series is to use Chart#add_series
|
|
6
|
-
# @see Worksheet#add_chart
|
|
7
|
-
# @see Chart#add_series
|
|
8
|
-
# @see examples/example.rb
|
|
9
|
-
class ScatterSeries < Series
|
|
10
|
-
|
|
11
|
-
# The x data for this series.
|
|
12
|
-
# @return [NamedAxisData]
|
|
13
|
-
attr_reader :xData
|
|
14
|
-
|
|
15
|
-
# The y data for this series.
|
|
16
|
-
# @return [NamedAxisData]
|
|
17
|
-
attr_reader :yData
|
|
18
|
-
|
|
19
|
-
# The fill color for this series.
|
|
20
|
-
# Red, green, and blue is expressed as sequence of hex digits, RRGGBB. A perceptual gamma of 2.2 is used.
|
|
21
|
-
# @return [String]
|
|
22
|
-
attr_reader :color
|
|
23
|
-
|
|
24
|
-
# @return [String]
|
|
25
|
-
attr_reader :ln_width
|
|
26
|
-
|
|
27
|
-
# Line smoothing between data points
|
|
28
|
-
# @return [Boolean]
|
|
29
|
-
attr_reader :smooth
|
|
30
|
-
|
|
31
|
-
#
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
@
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
@
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
# @see
|
|
60
|
-
def
|
|
61
|
-
@
|
|
62
|
-
end
|
|
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
|
-
str << '<a:
|
|
89
|
-
str << '
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
1
|
+
# encoding: UTF-8
|
|
2
|
+
module Axlsx
|
|
3
|
+
|
|
4
|
+
# A ScatterSeries defines the x and y position of data in the chart
|
|
5
|
+
# @note The recommended way to manage series is to use Chart#add_series
|
|
6
|
+
# @see Worksheet#add_chart
|
|
7
|
+
# @see Chart#add_series
|
|
8
|
+
# @see examples/example.rb
|
|
9
|
+
class ScatterSeries < Series
|
|
10
|
+
|
|
11
|
+
# The x data for this series.
|
|
12
|
+
# @return [NamedAxisData]
|
|
13
|
+
attr_reader :xData
|
|
14
|
+
|
|
15
|
+
# The y data for this series.
|
|
16
|
+
# @return [NamedAxisData]
|
|
17
|
+
attr_reader :yData
|
|
18
|
+
|
|
19
|
+
# The fill color for this series.
|
|
20
|
+
# Red, green, and blue is expressed as sequence of hex digits, RRGGBB. A perceptual gamma of 2.2 is used.
|
|
21
|
+
# @return [String]
|
|
22
|
+
attr_reader :color
|
|
23
|
+
|
|
24
|
+
# @return [String]
|
|
25
|
+
attr_reader :ln_width
|
|
26
|
+
|
|
27
|
+
# Line smoothing between data points
|
|
28
|
+
# @return [Boolean]
|
|
29
|
+
attr_reader :smooth
|
|
30
|
+
|
|
31
|
+
# Line markers presence
|
|
32
|
+
# @return [Boolean]
|
|
33
|
+
attr_reader :show_marker
|
|
34
|
+
|
|
35
|
+
# custom marker symbol
|
|
36
|
+
# @return [String]
|
|
37
|
+
attr_reader :marker_symbol
|
|
38
|
+
|
|
39
|
+
# Creates a new ScatterSeries
|
|
40
|
+
def initialize(chart, options={})
|
|
41
|
+
@xData, @yData = nil
|
|
42
|
+
if options[:smooth].nil?
|
|
43
|
+
# If caller hasn't specified smoothing or not, turn smoothing on or off based on scatter style
|
|
44
|
+
@smooth = [:smooth, :smoothMarker].include?(chart.scatter_style)
|
|
45
|
+
else
|
|
46
|
+
# Set smoothing according to the option provided
|
|
47
|
+
Axlsx::validate_boolean(options[:smooth])
|
|
48
|
+
@smooth = options[:smooth]
|
|
49
|
+
end
|
|
50
|
+
@ln_width = options[:ln_width] unless options[:ln_width].nil?
|
|
51
|
+
@show_marker = [:lineMarker, :marker, :smoothMarker].include?(chart.scatter_style)
|
|
52
|
+
@marker_symbol = :default
|
|
53
|
+
|
|
54
|
+
super(chart, options)
|
|
55
|
+
@xData = AxDataSource.new(:tag_name => :xVal, :data => options[:xData]) unless options[:xData].nil?
|
|
56
|
+
@yData = NumDataSource.new({:tag_name => :yVal, :data => options[:yData]}) unless options[:yData].nil?
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
# @see color
|
|
60
|
+
def color=(v)
|
|
61
|
+
@color = v
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
# @see smooth
|
|
65
|
+
def smooth=(v)
|
|
66
|
+
Axlsx::validate_boolean(v)
|
|
67
|
+
@smooth = v
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# @see ln_width
|
|
71
|
+
def ln_width=(v)
|
|
72
|
+
@ln_width = v
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
# @see marker_symbol
|
|
76
|
+
def marker_symbol=(v)
|
|
77
|
+
Axlsx::validate_marker_symbol(v)
|
|
78
|
+
@marker_symbol = v
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
# Serializes the object
|
|
82
|
+
# @param [String] str
|
|
83
|
+
# @return [String]
|
|
84
|
+
def to_xml_string(str = '')
|
|
85
|
+
super(str) do
|
|
86
|
+
# needs to override the super color here to push in ln/and something else!
|
|
87
|
+
if color
|
|
88
|
+
str << '<c:spPr><a:solidFill>'
|
|
89
|
+
str << ('<a:srgbClr val="' << color << '"/>')
|
|
90
|
+
str << '</a:solidFill>'
|
|
91
|
+
str << '<a:ln><a:solidFill>'
|
|
92
|
+
str << ('<a:srgbClr val="' << color << '"/></a:solidFill></a:ln>')
|
|
93
|
+
str << '</c:spPr>'
|
|
94
|
+
str << '<c:marker>'
|
|
95
|
+
str << '<c:spPr><a:solidFill>'
|
|
96
|
+
str << ('<a:srgbClr val="' << color << '"/>')
|
|
97
|
+
str << '</a:solidFill>'
|
|
98
|
+
str << '<a:ln><a:solidFill>'
|
|
99
|
+
str << ('<a:srgbClr val="' << color << '"/></a:solidFill></a:ln>')
|
|
100
|
+
str << '</c:spPr>'
|
|
101
|
+
str << marker_symbol_xml
|
|
102
|
+
str << '</c:marker>'
|
|
103
|
+
else
|
|
104
|
+
str << "<c:marker>#{marker_symbol_xml}</c:marker>"
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
if ln_width
|
|
108
|
+
str << '<c:spPr>'
|
|
109
|
+
str << '<a:ln w="' << ln_width.to_s << '"/>'
|
|
110
|
+
str << '</c:spPr>'
|
|
111
|
+
end
|
|
112
|
+
@xData.to_xml_string(str) unless @xData.nil?
|
|
113
|
+
@yData.to_xml_string(str) unless @yData.nil?
|
|
114
|
+
str << ('<c:smooth val="' << ((smooth) ? '1' : '0') << '"/>')
|
|
115
|
+
end
|
|
116
|
+
str
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
private
|
|
120
|
+
|
|
121
|
+
def marker_symbol_xml
|
|
122
|
+
if !@show_marker
|
|
123
|
+
'<c:symbol val="none"/>'
|
|
124
|
+
elsif @marker_symbol != :default
|
|
125
|
+
'<c:symbol val="' + @marker_symbol.to_s + '"/>'
|
|
126
|
+
end.to_s
|
|
127
|
+
end
|
|
128
|
+
end
|
|
129
|
+
end
|