caxlsx 3.2.0 → 3.3.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 +385 -354
- data/LICENSE +21 -21
- data/README.md +165 -168
- 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 -148
- data/lib/axlsx/drawing/bar_chart.rb +138 -138
- data/lib/axlsx/drawing/bar_series.rb +97 -97
- 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 +299 -276
- data/lib/axlsx/drawing/d_lbls.rb +91 -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 -129
- 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 +107 -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 +398 -388
- data/lib/axlsx/rels/relationship.rb +130 -130
- data/lib/axlsx/rels/relationships.rb +32 -32
- data/lib/axlsx/stylesheet/border.rb +73 -73
- 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 +535 -494
- 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 +416 -410
- 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 +425 -395
- 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/border_creator.rb +76 -0
- data/lib/axlsx/workbook/worksheet/break.rb +35 -35
- data/lib/axlsx/workbook/worksheet/cell.rb +532 -506
- 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 +267 -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 +335 -296
- 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 -164
- 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 +829 -786
- 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 +204 -185
- 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
- metadata +5 -252
- data/test/benchmark.rb +0 -72
- data/test/content_type/tc_content_type.rb +0 -76
- data/test/content_type/tc_default.rb +0 -16
- data/test/content_type/tc_override.rb +0 -14
- data/test/doc_props/tc_app.rb +0 -43
- data/test/doc_props/tc_core.rb +0 -42
- data/test/drawing/tc_area_chart.rb +0 -39
- data/test/drawing/tc_area_series.rb +0 -71
- data/test/drawing/tc_axes.rb +0 -8
- data/test/drawing/tc_axis.rb +0 -112
- data/test/drawing/tc_bar_3D_chart.rb +0 -86
- data/test/drawing/tc_bar_chart.rb +0 -86
- data/test/drawing/tc_bar_series.rb +0 -46
- data/test/drawing/tc_bubble_chart.rb +0 -44
- data/test/drawing/tc_bubble_series.rb +0 -21
- data/test/drawing/tc_cat_axis.rb +0 -31
- data/test/drawing/tc_cat_axis_data.rb +0 -27
- data/test/drawing/tc_chart.rb +0 -123
- data/test/drawing/tc_d_lbls.rb +0 -57
- data/test/drawing/tc_data_source.rb +0 -23
- data/test/drawing/tc_drawing.rb +0 -80
- data/test/drawing/tc_graphic_frame.rb +0 -27
- data/test/drawing/tc_hyperlink.rb +0 -64
- data/test/drawing/tc_line_3d_chart.rb +0 -47
- data/test/drawing/tc_line_chart.rb +0 -39
- data/test/drawing/tc_line_series.rb +0 -71
- data/test/drawing/tc_marker.rb +0 -44
- data/test/drawing/tc_named_axis_data.rb +0 -27
- data/test/drawing/tc_num_data.rb +0 -31
- data/test/drawing/tc_num_val.rb +0 -29
- data/test/drawing/tc_one_cell_anchor.rb +0 -66
- data/test/drawing/tc_pic.rb +0 -103
- data/test/drawing/tc_picture_locking.rb +0 -72
- data/test/drawing/tc_pie_3D_chart.rb +0 -28
- data/test/drawing/tc_pie_series.rb +0 -33
- data/test/drawing/tc_scaling.rb +0 -36
- data/test/drawing/tc_scatter_chart.rb +0 -48
- data/test/drawing/tc_scatter_series.rb +0 -74
- data/test/drawing/tc_ser_axis.rb +0 -31
- data/test/drawing/tc_series.rb +0 -23
- data/test/drawing/tc_series_title.rb +0 -54
- data/test/drawing/tc_str_data.rb +0 -18
- data/test/drawing/tc_str_val.rb +0 -30
- data/test/drawing/tc_title.rb +0 -70
- data/test/drawing/tc_two_cell_anchor.rb +0 -36
- data/test/drawing/tc_val_axis.rb +0 -24
- data/test/drawing/tc_view_3D.rb +0 -54
- data/test/drawing/tc_vml_drawing.rb +0 -25
- data/test/drawing/tc_vml_shape.rb +0 -106
- data/test/fixtures/image1.gif +0 -0
- data/test/fixtures/image1.jpeg +0 -0
- data/test/fixtures/image1.jpg +0 -0
- data/test/fixtures/image1.png +0 -0
- data/test/fixtures/image1_fake.jpg +0 -0
- data/test/profile.rb +0 -24
- data/test/rels/tc_relationship.rb +0 -52
- data/test/rels/tc_relationships.rb +0 -37
- data/test/stylesheet/tc_border.rb +0 -37
- data/test/stylesheet/tc_border_pr.rb +0 -32
- data/test/stylesheet/tc_cell_alignment.rb +0 -81
- data/test/stylesheet/tc_cell_protection.rb +0 -29
- data/test/stylesheet/tc_cell_style.rb +0 -57
- data/test/stylesheet/tc_color.rb +0 -43
- data/test/stylesheet/tc_dxf.rb +0 -81
- data/test/stylesheet/tc_fill.rb +0 -18
- data/test/stylesheet/tc_font.rb +0 -133
- data/test/stylesheet/tc_gradient_fill.rb +0 -72
- data/test/stylesheet/tc_gradient_stop.rb +0 -31
- data/test/stylesheet/tc_num_fmt.rb +0 -30
- data/test/stylesheet/tc_pattern_fill.rb +0 -43
- data/test/stylesheet/tc_styles.rb +0 -309
- data/test/stylesheet/tc_table_style.rb +0 -44
- data/test/stylesheet/tc_table_style_element.rb +0 -45
- data/test/stylesheet/tc_table_styles.rb +0 -29
- data/test/stylesheet/tc_xf.rb +0 -120
- data/test/tc_axlsx.rb +0 -109
- data/test/tc_helper.rb +0 -10
- data/test/tc_package.rb +0 -317
- data/test/util/tc_mime_type_utils.rb +0 -13
- data/test/util/tc_serialized_attributes.rb +0 -19
- data/test/util/tc_simple_typed_list.rb +0 -77
- data/test/util/tc_validators.rb +0 -210
- data/test/workbook/tc_defined_name.rb +0 -49
- data/test/workbook/tc_shared_strings_table.rb +0 -59
- data/test/workbook/tc_workbook.rb +0 -165
- data/test/workbook/tc_workbook_view.rb +0 -50
- data/test/workbook/worksheet/auto_filter/tc_auto_filter.rb +0 -38
- data/test/workbook/worksheet/auto_filter/tc_filter_column.rb +0 -76
- data/test/workbook/worksheet/auto_filter/tc_filters.rb +0 -50
- data/test/workbook/worksheet/tc_break.rb +0 -49
- data/test/workbook/worksheet/tc_cell.rb +0 -465
- data/test/workbook/worksheet/tc_cfvo.rb +0 -31
- data/test/workbook/worksheet/tc_col.rb +0 -93
- data/test/workbook/worksheet/tc_color_scale.rb +0 -58
- data/test/workbook/worksheet/tc_comment.rb +0 -72
- data/test/workbook/worksheet/tc_comments.rb +0 -57
- data/test/workbook/worksheet/tc_conditional_formatting.rb +0 -224
- data/test/workbook/worksheet/tc_data_bar.rb +0 -46
- data/test/workbook/worksheet/tc_data_validation.rb +0 -265
- data/test/workbook/worksheet/tc_date_time_converter.rb +0 -124
- data/test/workbook/worksheet/tc_header_footer.rb +0 -151
- data/test/workbook/worksheet/tc_icon_set.rb +0 -45
- data/test/workbook/worksheet/tc_outline_pr.rb +0 -19
- data/test/workbook/worksheet/tc_page_margins.rb +0 -97
- data/test/workbook/worksheet/tc_page_set_up_pr.rb +0 -15
- data/test/workbook/worksheet/tc_page_setup.rb +0 -143
- data/test/workbook/worksheet/tc_pane.rb +0 -54
- data/test/workbook/worksheet/tc_pivot_table.rb +0 -180
- data/test/workbook/worksheet/tc_pivot_table_cache_definition.rb +0 -62
- data/test/workbook/worksheet/tc_print_options.rb +0 -72
- data/test/workbook/worksheet/tc_protected_range.rb +0 -17
- data/test/workbook/worksheet/tc_rich_text.rb +0 -44
- data/test/workbook/worksheet/tc_rich_text_run.rb +0 -173
- data/test/workbook/worksheet/tc_row.rb +0 -160
- data/test/workbook/worksheet/tc_selection.rb +0 -55
- data/test/workbook/worksheet/tc_sheet_calc_pr.rb +0 -18
- data/test/workbook/worksheet/tc_sheet_format_pr.rb +0 -88
- data/test/workbook/worksheet/tc_sheet_pr.rb +0 -49
- data/test/workbook/worksheet/tc_sheet_protection.rb +0 -117
- data/test/workbook/worksheet/tc_sheet_view.rb +0 -214
- data/test/workbook/worksheet/tc_table.rb +0 -77
- data/test/workbook/worksheet/tc_table_style_info.rb +0 -53
- data/test/workbook/worksheet/tc_worksheet.rb +0 -632
- data/test/workbook/worksheet/tc_worksheet_hyperlink.rb +0 -55
|
@@ -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
|