Class: Axlsx::ScatterSeries
- Defined in:
- lib/axlsx/drawing/scatter_series.rb
Overview
Note:
The recommended way to manage series is to use Chart#add_series
A ScatterSeries defines the x and y position of data in the chart
Instance Attribute Summary collapse
-
#color ⇒ String
The fill color for this series.
- #ln_width ⇒ String
-
#marker_symbol ⇒ String
custom marker symbol.
-
#show_marker ⇒ Boolean
readonly
Line markers presence.
-
#smooth ⇒ Boolean
Line smoothing between data points.
-
#xData ⇒ NamedAxisData
readonly
The x data for this series.
-
#yData ⇒ NamedAxisData
readonly
The y data for this series.
Attributes inherited from Series
Instance Method Summary collapse
-
#initialize(chart, options = {}) ⇒ ScatterSeries
constructor
Creates a new ScatterSeries.
-
#to_xml_string(str = '') ⇒ String
Serializes the object.
Methods inherited from Series
Methods included from OptionsParser
Constructor Details
#initialize(chart, options = {}) ⇒ ScatterSeries
Creates a new ScatterSeries
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/axlsx/drawing/scatter_series.rb', line 37 def initialize(chart, = {}) @xData, @yData = nil if [:smooth].nil? # If caller hasn't specified smoothing or not, turn smoothing on or off based on scatter style @smooth = [:smooth, :smoothMarker].include?(chart.scatter_style) else # Set smoothing according to the option provided Axlsx::validate_boolean([:smooth]) @smooth = [:smooth] end @ln_width = [:ln_width] unless [:ln_width].nil? @show_marker = [:lineMarker, :marker, :smoothMarker].include?(chart.scatter_style) @marker_symbol = :default super(chart, ) @xData = AxDataSource.new(:tag_name => :xVal, :data => [:xData]) unless [:xData].nil? @yData = NumDataSource.new({ :tag_name => :yVal, :data => [:yData] }) unless [:yData].nil? end |
Instance Attribute Details
#color ⇒ String
The fill color for this series. Red, green, and blue is expressed as sequence of hex digits, RRGGBB. A perceptual gamma of 2.2 is used.
19 20 21 |
# File 'lib/axlsx/drawing/scatter_series.rb', line 19 def color @color end |
#ln_width ⇒ String
22 23 24 |
# File 'lib/axlsx/drawing/scatter_series.rb', line 22 def ln_width @ln_width end |
#marker_symbol ⇒ String
custom marker symbol
34 35 36 |
# File 'lib/axlsx/drawing/scatter_series.rb', line 34 def marker_symbol @marker_symbol end |
#show_marker ⇒ Boolean (readonly)
Line markers presence
30 31 32 |
# File 'lib/axlsx/drawing/scatter_series.rb', line 30 def show_marker @show_marker end |
#smooth ⇒ Boolean
Line smoothing between data points
26 27 28 |
# File 'lib/axlsx/drawing/scatter_series.rb', line 26 def smooth @smooth end |
#xData ⇒ NamedAxisData (readonly)
The x data for this series.
10 11 12 |
# File 'lib/axlsx/drawing/scatter_series.rb', line 10 def xData @xData end |
#yData ⇒ NamedAxisData (readonly)
The y data for this series.
14 15 16 |
# File 'lib/axlsx/drawing/scatter_series.rb', line 14 def yData @yData end |
Instance Method Details
#to_xml_string(str = '') ⇒ String
Serializes the object
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
# File 'lib/axlsx/drawing/scatter_series.rb', line 81 def to_xml_string(str = '') super(str) do # needs to override the super color here to push in ln/and something else! if color str << '<c:spPr><a:solidFill>' str << ('<a:srgbClr val="' << color << '"/>') str << '</a:solidFill>' str << '<a:ln><a:solidFill>' str << ('<a:srgbClr val="' << color << '"/></a:solidFill></a:ln>') str << '</c:spPr>' str << '<c:marker>' str << '<c:spPr><a:solidFill>' str << ('<a:srgbClr val="' << color << '"/>') str << '</a:solidFill>' str << '<a:ln><a:solidFill>' str << ('<a:srgbClr val="' << color << '"/></a:solidFill></a:ln>') str << '</c:spPr>' str << marker_symbol_xml str << '</c:marker>' else str << "<c:marker>#{marker_symbol_xml}</c:marker>" end if ln_width str << '<c:spPr>' str << '<a:ln w="' << ln_width.to_s << '"/>' str << '</c:spPr>' end @xData.to_xml_string(str) unless @xData.nil? @yData.to_xml_string(str) unless @yData.nil? str << ('<c:smooth val="' << ((smooth) ? '1' : '0') << '"/>') end str end |