gpt4 book ai didi

ruby - 粗鲁的工作不好。该怎么办?

转载 作者:太空宇宙 更新时间:2023-11-03 16:33:56 25 4
gpt4 key购买 nike

我正面临 Gruff 和 Rails 的问题。site 上的示例失败:

ZeroDivisionError: divided by 0
from /home/prikha/.rvm/gems/ruby-1.9.3-p194@rubymine/gems/gruff-0.3.6/lib/gruff/base.rb:1066:in `label'
from /home/prikha/.rvm/gems/ruby-1.9.3-p194@rubymine/gems/gruff-0.3.6/lib/gruff/base.rb:590:in `setup_graph_measurements'
from /home/prikha/.rvm/gems/ruby-1.9.3-p194@rubymine/gems/gruff-0.3.6/lib/gruff/base.rb:532:in `setup_drawing'
from /home/prikha/.rvm/gems/ruby-1.9.3-p194@rubymine/gems/gruff-0.3.6/lib/gruff/base.rb:508:in `draw'
from /home/prikha/.rvm/gems/ruby-1.9.3-p194@rubymine/gems/gruff-0.3.6/lib/gruff/line.rb:53:in `draw'
from /home/prikha/.rvm/gems/ruby-1.9.3-p194@rubymine/gems/gruff-0.3.6/lib/gruff/base.rb:487:in `write'
from (irb):8
from /home/prikha/.rvm/rubies/ruby-1.9.3-p194/bin/irb:16:in `<main>'

最佳答案

我遇到了同样的问题。我解决它的方法如下:ZeroDivisionError 出现在 gruff/base.rb 的 1066 行让我们仔细看看这个文件

label = if (@spread.to_f % @marker_count.to_f == 0) || !@y_axis_increment.nil?

因此,ZeroDivisionError 是由@marker_count 属性等于零这一事实引起的。我知道,这不是最好的解决方案,但我添加了一个明确的分配 @marker_count = <non-zero value>在绘制图形之前。所以,现在来自站点的示例如下所示:

#!/usr/bin/ruby
require 'rubygems'
require 'gruff'

g = Gruff::Line.new
g.title = "My Graph"

g.data("Apples", [1, 2, 3, 4, 4, 3])
g.data("Oranges", [4, 8, 7, 9, 8, 9])
g.data("Watermelon", [2, 3, 1, 5, 6, 8])
g.data("Peaches", [9, 9, 10, 8, 7, 9])
g.marker_count = 4 #explicitly assign value to @marker_count
g.labels = {0 => '2003', 2 => '2004', 4 => '2005'}

g.write('my_fruity_graph.png')

它对我来说很好用。我知道这不是问题的通用解决方案,但这个 hack 可以帮助您处理该库,直到开发人员修复此错误为止。

添加
@market_count 是垂直轴上标记的计数。因此,您可以使用此属性来美化您的图表。

关于ruby - 粗鲁的工作不好。该怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10881173/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com