0

我正在尝试使用 gem 创建一个饼图gruff,但无论我做什么,我的图表都是一个黑色的深渊。这是我的代码:

association_disposition_pie_chart = Gruff::Pie.new
association_disposition_pie_chart.title = "Visual Pie Graph Test"
association_disposition_pie_chart.data 'Solved', 10
association_disposition_pie_chart.data 'Action Required', 50
    association_disposition_pie_chart.theme = {
      :colors => ['#A5D8D8', '#EFAD1C'],
      :font_color => 'black',
      :background_colors => 'white'
    }
association_disposition_pie_chart.write("association_disposition_pie_chart.jpg")

为什么要创建一个黑色饼图?背景是白色的,font_color 是黑色的,但整个图表也是如此。我希望图表部分是 中指定的颜色:colors

编辑

截屏:

http://i39.tinypic.com/33ne1r6.jpg

4

2 回答 2

0

使用 imagemagick-no-hdri 和默认的 rmagick gem 时,饼图将变为黑白。我能够通过执行以下操作来解决此问题

Install imagemagick
git clone git@github.com:rmagick/rmagick.git
gem build rmagick.gemspec
gem install ./rmagick-2.13.2.gem
于 2014-01-17T19:20:31.097 回答
0

这在文档中提到:

You can set a theme manually. Assign a hash to this method before you send your data.

graph.theme = {
  :colors => %w(orange purple green white red),
  :marker_color => 'blue',
  :background_colors => %w(black grey)
}
:background_image => 'squirrel.png' is also possible.

(Or hopefully something better looking than that.)

虽然来源更有帮助:

# File 'lib/gruff/base.rb', line 300

def theme=(options)
  reset_themes()

  defaults = {
    :colors => ['black', 'white'],
    :additional_line_colors => [],
    :marker_color => 'white',
    :font_color => 'black',
    :background_colors => nil,
    :background_image => nil
  }
  @theme_options = defaults.merge options

  @colors = @theme_options[:colors]
  @marker_color = @theme_options[:marker_color]
  @font_color = @theme_options[:font_color] || @marker_color
  @additional_line_colors = @theme_options[:additional_line_colors]

  render_background
end

我认为问题可能出在您的colors属性上:colors => ['#A5D8D8', '#EFAD1C']--正如Shaun Frost Duke Jackson所提到的,看起来您需要使用它add_color('#c0e9d3')来执行此操作,但是如果您正在定义主题,文档并不清楚您在哪里执行此操作。在THEMES模块中添加您自己的主题可能更容易:

LUIGIS_THEME = {
      :colors => [
        '#A5D8D8',
        '#EFAD1C'
      ],
      :marker_color => '#55ae36', 
      :font_color => 'black',
      :background_colors => 'white'
    }

然后调用g.theme = Gruff::Themes::LUIGIS_THEME

于 2013-11-26T22:44:42.690 回答