8

d3 で動的リロードを機能させようとしていますが、データベースからデータを更新する方法がわかりません。

毎秒変更する必要がある値を含む配列があります。

変数データ = [1,2,3,4];

私の最初のスクリプトでは、PHP にデータベースからデータをプルさせて配列を設定しました。ページのリロードは問題なく機能しますが、d3 のリロード機能を使用して新しいデータをフェッチし、図を再描画したいと考えています。

私はjsとd3がまったく初めてなので、提案は非常に役に立ちます。

jQuery の get コマンドを使用して、値を出力する外部 PHP スクリプトを呼び出してみましたが、うまくいかないようです。

私は基本的に、Google アナリティクスのリアルタイム表示から棒グラフを複製しようとしています。

4

2 に答える 2

1

まず、JSON形式*でデータを出力するサーバー上のページが必要です。そのページを取得したら、ブラウザから呼び出します。エンコードされたデータが画面に表示されます(これにより、ページが適切にホストされ、データが返されることが証明されます)

次に、Yecoが投稿したD3ドキュメントリンクの簡単な例に従ってください。ダミーのURLを新しいデータページのアドレスに置き換え、そこに独自の関数呼び出しを貼り付けて、新しいデータでグラフを再描画する必要があります。

*注:私はPHPに精通していませんが、ネイティブJSONエンコーダーが必要です。そうでない場合は、ライブラリがネット上で利用可能になります。また、応答のmimeタイプを適切に設定する必要があります-クイックグーグルは正しいmimeタイプを提供するはずです-それは「application / json」のようなものだと思いますが、私の頭のてっぺんを思い出せません

于 2012-09-20T19:49:12.477 に答える
1

これはあなたを助けるかもしれません: https://github.com/d3/d3-request/blob/master/README.md#request

編集: API v4 への更新されたリンク

于 2012-09-20T19:41:20.753 に答える