class Axlsx::ScatterSeries

A ScatterSeries defines the x and y position of data in the chart @note The recommended way to manage series is to use Chart#add_series @see Worksheet#add_chart @see Chart#add_series @see examples/example.rb

Attributes

color[R]

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. @return [String]

ln_width[R]

@return [String]

smooth[R]

Line smoothing between data points @return [Boolean]

xData[R]

The x data for this series. @return [NamedAxisData]

yData[R]

The y data for this series. @return [NamedAxisData]

Public Class Methods

new(chart, options={}) click to toggle source

Creates a new ScatterSeries

Calls superclass method
# File lib/axlsx/drawing/scatter_series.rb, line 32
def initialize(chart, options={})
  @xData, @yData = nil
  if options[: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(options[:smooth])
    @smooth = options[:smooth]
  end
  @ln_width = options[:ln_width] unless options[:ln_width].nil?
  super(chart, options)
  @xData = AxDataSource.new(:tag_name => :xVal, :data => options[:xData]) unless options[:xData].nil?
  @yData = NumDataSource.new({:tag_name => :yVal, :data => options[:yData]}) unless options[:yData].nil?
end

Public Instance Methods

color=(v) click to toggle source

@see color

# File lib/axlsx/drawing/scatter_series.rb, line 49
def color=(v)
  @color = v
end
ln_width=(v) click to toggle source

@see ln_width

# File lib/axlsx/drawing/scatter_series.rb, line 60
def ln_width=(v)
  @ln_width = v
end
smooth=(v) click to toggle source

@see smooth

# File lib/axlsx/drawing/scatter_series.rb, line 54
def smooth=(v)
  Axlsx::validate_boolean(v)
  @smooth = v
end
to_xml_string(str = '') click to toggle source

Serializes the object @param [String] str @return [String]

Calls superclass method
# File lib/axlsx/drawing/scatter_series.rb, line 67
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 << '</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