代码之家  ›  专栏  ›  技术社区  ›  John Polling

Ruby和Google图表-使用GChartRB

  •  0
  • John Polling  · 技术社区  · 15 年前

    我第一次尝试使用名为gchartrb的Ruby包装器来使用谷歌图表。我的第一个尝试是画一个条形图,它工作得相当好,除了最大值(趋势2-800)到达Y轴的顶部。我猜这是谷歌图表的问题,但我想知道是否有办法解决这个问题,所以所有的值都能正确地缩放?

    labels = [1, 2, 3, 4]
    GoogleChart::BarChart.new('800x200', "Bar Chart", :vertical, false) do |bc|
    bc.axis :x, :labels => labels, 
                :color => '000000' # Months
                bc.axis :y, :labels => [0, 100, 200, 300, 400, 500, 600, 700, 800, 900], 
                :color => '000000' # Number of books
      bc.data "Trend 1", [100,200,300,400], '0000ff'
      bc.data "Trend 2", [500,600,700,800], 'ff0000'
       bc.width_spacing_options :bar_width => 50, :bar_spacing => 0, :group_spacing => 0
      puts "\nBar Chart"
      puts bc.to_url
    end
    
    2 回复  |  直到 11 年前
        1
  •  2
  •   John Polling    15 年前

    放弃这个宝石,最终直接使用谷歌图表。

        2
  •  0
  •   Prem    11 年前

    对于缩放问题,BC.axis属性有一个名为“range”的选项,例如,

    bc.axis :y, :color => '000000', :range => [0,max_scale_value]
    

    你可以设定 最大刻度值 给我你数据值的最大值。
    1)如果并排显示条,则可以根据数据将最大刻度值设置为800。即两个数组的最大值。
    2)如果要显示堆积条形图(一个在另一个上面),则应将“最大刻度”值设置为最大值[(100+500)、(200+600)、(300+700)、(400+800)]
    3)您需要删除Y轴的Labels属性,因为它将根据值自动缩放并为您提供标签。

    因此,您不会遇到缩放问题。
    希望有帮助:)