3

私は Rails (および StackOverflow) を初めて使用するので、これが「ばかげた」質問である場合は申し訳ありません。非常に単純な Rails アプリケーションを作成しました。別のサーバーから (HTTP POST 経由で) データを受信します。送信されたデータをグラフにしたいと思います-特に、温度と時間のグラフを探しています。

Flotillaを使用してこれらのグラフを生成しようとしていますが、ホームページの 1 行の例を除いて、使用方法に関するドキュメントがあまり見つからないようです。

        = chart("graph", {"Store 1" => {:collection => @store_one, :x => :date, :y => :sales }, "Store 2" => {:collection => @store_two, :x => :date, :y => :sales }})

これは私の index.html.erb です:

<table>
  <tr>
    <th>Temperature</th>
    <th>Time</th>
  </tr>

<% for post in @posts %>
  <tr>
    <td><%=h post.temperature %></td>
    <td><%=h post.created_at %></td>
  </tr>
<% end %>
</table>
<%= chart("graph", { "Graph1" => { :collection => @posts, :x => :created_at, :y => :temperature }})%>
<br />

最初の部分は単純に温度と時間のリストを出力します。これはうまくいきます。残念ながら、2 番目の部分 (実際のグラフ) は機能していないようです。実際には何も表示されません。

生成された HTML のソースを見ると、次のように表示されます。

    <script language="javascript" type="text/javascript" src="/javascripts/jquery.flot.pack.js"></script>
    <script type="text/javascript">
      $.plot($('#graph'), [{"data":[[1234191865.0,12.0],[1234192069.0,15.0],[1234192113.0,16.0],[1234192123.0,18.0],[1234192189.0,21.0],[1234192203.0,25.0],[1234192320.0,27.0],[1234192329.0,29.0],[1234192384.0,30.0],[1234192391.0,31.0],[1234192402.0,35.0],[1234192409.0,29.0],[1234192412.0,31.0],[1234192414.0,27.0],[1234192419.0,25.0],[1234211826.0,27.0]],"label":"Graph1"}], {});
    </script>

しかし、実際のグラフは表示されません。助けてくれてありがとう。

4

2 に答える 2

6

私にとってうまくいったのは、ビューの上部に次の行を追加することでした:

<%= javascript_include_tag 'jquery-1.5.1','flot/jquery.flot.js','excanvas.pack.js','jquery.flot.pack.js' %>

これは、flot を使用するために必要なすべての JavaScript をビューに含めることを意味します。また、/public/javascripts/ フォルダーの下にすべての js ファイルがあることを確認してください。

于 2011-02-26T20:42:41.923 に答える
5

divページの任意の場所にidを持つ要素を追加してみてgraphください。チャートのキャンバスとして使用されます。

<div id="graph" style="width:600px;height:300px;"></div>

要素のidは、最初のパラメータとして に渡す文字列と一致する必要がありますchart

疑問がある場合は、Flot サイトのさまざまなサンプル ページのソースを参照してください。

于 2009-02-23T00:41:59.040 に答える