【问题标题】:ruby googlecharts issue红宝石谷歌图表问题
【发布时间】:2012-11-01 21:49:12
【问题描述】:

我正在按照此页面中的说明进行操作

http://googlecharts.rubyforge.org/

这是我的代码

Gchart.line(:data => data,:axis_with_labels => ["x"],:axis_labels => ["0","15","30","45","60"], :format => 'file', :filename => "/path/to/file/#{stamp}.png")  

我希望有一个带有 x 轴标签的图表,但我得到了这个图表

我在这里缺少什么?

更新

我用另一对像这样的额外 [] 解决了这个问题

Gchart.line(:data => data,:axis_with_labels => ["x"],:axis_labels => [["0","15","30","45","60"]], :format => 'file', :filename => "/path/to/file/#{stamp}.png") 

【问题讨论】:

    标签: ruby google-visualization gchart


    【解决方案1】:

    文档上的示例有同样的问题,所以它似乎是一个 gem 问题。我不想挖掘源代码,但如果你还没有与 gem 结婚,你可以随时尝试gchart,它可以由gem install gchart 安装。

    下面是使用gchart 做同样事情的方法。

    require 'gchart'
    
    chart = GChart.line do |g| 
      g.data = data
    
      g.axis(:bottom) do |a| 
        a.labels = ["0", "15", "30", "45", "60"]
      end 
    
      g.axis(:bottom) do |a| 
        a.labels = ["x"]
        a.label_positions = [50]
      end 
    
      g.write("/path/to/file/#{stamp}.png")
    end
    

    【讨论】:

    • 谢谢。我安装了“gem install gchart”并尝试了出现此错误的代码。 "\x89" 在 g.write() 行从 ASCII-8BIT 到 UTF-8。有什么想法吗?
    • 您是否将任何参数传递给 g.write?你能准确地把你在 g.write 中传递的内容吗?
    【解决方案2】:

    我通过切换到竖线分隔语法解决了这个问题。例如:

    x_axis_labels = [1, 2, 3]
    Gchart.line(:axis_labels => [x_axis_labels.join('|')], ...)
    

    可能是 gem 中的一个错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-18
      • 2016-03-23
      • 2011-01-09
      • 2021-01-23
      • 2011-10-06
      • 2016-05-16
      • 2015-07-17
      • 1970-01-01
      相关资源
      最近更新 更多