diff options
| author | Oleg Yakovenko <[email protected]> | 2021-03-01 18:20:12 +0200 |
|---|---|---|
| committer | Oleg Yakovenko <[email protected]> | 2021-03-01 18:20:12 +0200 |
| commit | d74a588a2f5b3e15a4fe94a946f058d0dfaa1c5e (patch) | |
| tree | 600ce441fb9f032cc1ddcd7a5f4f47172c3eef3b | |
| parent | 4183e0b6ba69f4c1f7ea005e5e0c73537e125201 (diff) | |
| download | caxlsx-d74a588a2f5b3e15a4fe94a946f058d0dfaa1c5e.tar.gz caxlsx-d74a588a2f5b3e15a4fe94a946f058d0dfaa1c5e.zip | |
feature: scatter series should respect marker preference of parent chart
| -rw-r--r-- | lib/axlsx/drawing/scatter_series.rb | 7 | ||||
| -rw-r--r-- | test/drawing/tc_scatter_series.rb | 12 |
2 files changed, 19 insertions, 0 deletions
diff --git a/lib/axlsx/drawing/scatter_series.rb b/lib/axlsx/drawing/scatter_series.rb index b9ca2c1d..1e116860 100644 --- a/lib/axlsx/drawing/scatter_series.rb +++ b/lib/axlsx/drawing/scatter_series.rb @@ -28,6 +28,10 @@ module Axlsx # @return [Boolean] attr_reader :smooth + # Line markers presence + # @return [Boolean] + attr_reader :marker + # Creates a new ScatterSeries def initialize(chart, options={}) @xData, @yData = nil @@ -40,6 +44,8 @@ module Axlsx @smooth = options[:smooth] end @ln_width = options[:ln_width] unless options[:ln_width].nil? + @marker = [:lineMarker, :marker, :smoothMarker].include?(chart.scatter_style) + 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? @@ -81,6 +87,7 @@ module Axlsx str << '<a:ln><a:solidFill>' str << ('<a:srgbClr val="' << color << '"/></a:solidFill></a:ln>') str << '</c:spPr>' + str << '<c:symbol val="none"/>' unless marker str << '</c:marker>' end if ln_width diff --git a/test/drawing/tc_scatter_series.rb b/test/drawing/tc_scatter_series.rb index ea3611ab..2139d65f 100644 --- a/test/drawing/tc_scatter_series.rb +++ b/test/drawing/tc_scatter_series.rb @@ -53,4 +53,16 @@ class TestScatterSeries < Test::Unit::TestCase assert_equal(doc.xpath("//a:ln[@w='#{@series.ln_width}']").length, 1) end + def test_chart_style_with_marker + @chart = @ws.add_chart Axlsx::ScatterChart, :title => "Smooth Chart", :scatter_style => :smoothMarker + @series = @chart.add_series :xData=>[1,2,4], :yData=>[1,3,9] + assert(@series.marker, "markers are enabled for marker-related styles") + end + + def test_chart_style_without_marker + @chart = @ws.add_chart Axlsx::ScatterChart, :title => "Line chart", :scatter_style => :line + @series = @chart.add_series :xData=>[1,2,4], :yData=>[1,3,9] + assert([email protected], "markers are disabled for markerless scatter styles") + end + end |
