0

Rails アプリでグラフを描画するために、Google の Visualization ライブラリを使用しています。現在の私のコードは次のとおりです。

    var data = google.visualization.arrayToDataTable([
      ['Phrase', 'Frequency'],
        <% @frequency.each do |key,value| %>
            ['<%= key %>', <%= value %>],
        <% end %>
    ]);

これは機能します。ただし、ユーザーが y 軸の値をクリックしてイベントを発生させる (リンクを開くなど) ことができる機能を有効にしたいと考えています。以下のコードを試しましたが、うまくいきません。上記の js スニペットに href を組み込む方法について何かアドバイスはありますか?

    var data = google.visualization.arrayToDataTable([
      ['Phrase', 'Frequency'],
        <% @frequency.each do |key,value| %>
            [<a href = "#"'<%= key %>'</a>, <%= value %>],
        <% end %>
    ]);

また、グラフに表示されるツールチップに href を含めることにもオープンです。

API へのリンクは次のとおりです: https://developers.google.com/chart/interactive/docs/gallery/barchart

4

1 に答える 1

0

これを行うには 2 つの方法があります。

HTML ツールチップ

1 つ目は、HTML ツールチップを使用して、バーの上にマウスを置いたときに URL が表示されるようにすることです。

これは最も簡単な方法ですが、2 番目の選択肢です。

カスタム イベント ハンドラ

グラフ アイテムをクリックしたときに何かを実行するには、カスタム イベント ハンドラーを作成する必要があります。

まず、棒グラフのイベントに関するドキュメントを見てください。この場合、selectイベントを使用する必要があります。

イベントが呼び出されると、関数をselect使用してgetSelection()、データのどの行が選択されているかを確認できます。3 番目の列に使用したい URL がある場合はdata.getValue()、選択した行に使用するだけで、必要に応じて JavaScript を使用してリンクを開くことができます。

好きなように構成できますが、これにより、適切なパスに設定され、理解できるようになります。

于 2013-04-15T01:31:18.373 に答える