0

過去 7 日間の Google Analytics データを表示する Google チャートを作成しています。特定のデータがある場合に、X 軸のラベルが重なり合って表示されるという問題があります (または、少なくともそれが異なることがわかります)。

この宝石を使用して API 呼び出しを生成しています: https://github.com/mattetti/googlecharts URL の各部分が何をしているのかを調べましたが、問題を見つけることができませんでしたが、私は確信しています。何かが足りない。

同じ期間の 2 つのサイト データの例を次に示します。最初のデータは問題を示し、2 番目のデータは実際の例です。

壊れたチャート

ワーキングチャート

URL は次のとおりです。これらは読みやすくするためにエンコードされたテキストですが、単純なエンコードまたは拡張エンコードに切り替えると同じ問題が発生します。

壊れたバージョン:

https://chart.apis.google.com/chart?chxl=0:|11-22|11-23|11-24|11-25|11-26|11-27&chxt=x&chco=58838C,BF996B,BF5841,A61C1C&chf=bg,s,ffffff&chd=t:979,807,681,653,580,509|822,724,602,562,519,455|540,409,381,375,336,301|307,156,173,176,155,133&chds=0,979&chdl=Visits|Visitors|New+Visits|Organic+Searches&chtt=Google+Analytics+-+Last+7+Days&cht=lc&chs=600x200&chxr=0,979,979|1,822,822|2,540,540|3,307,307

作業バージョン:

https://chart.apis.google.com/chart?chxl=0:|11-22|11-23|11-24|11-25|11-26|11-27&chxt=x&chco=58838C,BF996B,BF5841,A61C1C&chf=bg,s,ffffff&chd=t:1385,1395,981,947,863,731|1083,1222,832,715,690,546|580,566,427,413,387,329|247,151,151,171,162,135&chds=0,1395&chdl=Visits|Visitors|New+Visits|Organic+Searches&chtt=Google+Analytics+-+Last+7+Days&cht=lc&chs=600x200&chxr=0,1385,1395|1,1083,1222|2,580,580|3,247,247
4

1 に答える 1

1

chxr 値が正しくありませんでした。gem は、1 つの軸に対してのみ生成する必要があるときに、複数の軸に対してそれらを生成していました。gem の最小値、最大値、およびステップを手動でオーバーライドしたところ、機能しました。

これは、最初にすべてのデータポイントから最大値を取得する、gem を使用した私のコードです。

[@visits,@visitors,@new_visits,@organic_searches].each do |array|
  array.values.each do |value|
    @max_value = value if (value > @max_value)
  end
end

# Chart it
chart = Gchart.line(
  :title => prop.to_s.upcase + ' Google Analytics - Past 7 Days',
  :size => '600x200',
  :bg => 'ffffff',
  :axis_with_labels => ['x'],
  :axis_labels => [@visits.keys],
  :legend => ['Visits','Visitors','New Visits','Organic Searches'],
  :line_colors => ['58838C','BF996B','BF5841','A61C1C'],
  :encoding => 'text',
  :data => [@visits.values,@visitors.values, @new_visits.values, @organic_searches.values],
  :max_value => @max_value,
  :axis_range => [nil, [0, @max_value, (@max_value / 10).to_i]],
  :format => 'image_tag')
于 2012-11-29T17:07:07.830 に答える