2009-09-07 2 views
0

gchartrb라는 Ruby 래퍼를 사용하여 Google 차트를 처음 사용하고 있습니다. 첫 번째 시도는 막대 차트를 그리는 것이 었습니다. 가장 큰 값 (경향 2 - 800)이 y 축 상단에 닿는 것을 제외하고는 상당히 잘 작동합니다. 나는 이것이 Google Charts 문제라고 생각하지만이 문제를 해결할 수있는 방법이 있는지 궁금해서 모든 값이 정확하게 조정됩니까?루비 및 Google 차트 - gchartrb 사용

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 
+0

y 축의 가장 큰 값을 표시하고 있지만, 다른 모든 값도 올바르게 수정되었습니다. 나는 확신 할 수 없다. 최근에 개선되었지만, 지금 당장 나는 이것에 어떤 오류/문제도 없었다. – Prem

답변

2

이 보석을 사용하여 Google 차트를 직접 사용했습니다. 문제를 확장하기위한

0

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

당신이 나에 데이터 값의 최대 값을 max_scale_value을 설정할 수 있습니다, 같은 bc.axis에 대한 '범위'속성이라는 옵션이 있습니다.
1) 막대를 나란히 표시하는 경우 데이터 당 max_scale_value를 800으로 설정할 수 있습니다. 즉 두 배열의 최대 값입니다.
2) 누적 막대를 하나씩 표시하는 경우 max_scale_value를 최대 [(100 + 500), (200 + 600), (300 + 700), (400 + 800) ]
3) y 축에 대한 레이블 속성은 값에 따라 자동으로 크기가 조정되고 레이블이 지정되므로 제거해야합니다.

따라서 스케일링 문제가 없습니다.
도움이 되길 바랍니다.