【问题标题】:How can I display the outcome of the for loop in highcharts如何在 highcharts 中显示 for 循环的结果
【发布时间】:2013-01-22 09:49:19
【问题描述】:

我是这方面的新手(JS、Rails 和 highcharts,但它们非常好),我非常感谢一些帮助。我的故事是我有一个for loop,我想在highcharts 中显示for 循环的结果。我该怎么做?

<p>A n: <%= @calculation.a_n %></p>
<p>H: <%= @calculation.h %></p>
<p>K: <%= @calculation.k %></p>
<p>P: <%= @calculation.p %></p>
<p>A: <%= @calculation.a %></p>
<small>T: <%= @calculation.created_at %></small>
<br /><br />
    <%= @calculation.a_n %> <br />
    <% @amount = (@calculation.h * @calculation.k) %> 
    <% @percent = (@calculation.h * @calculation.k) / @calculation.p %> 
  <% for i in 0..@calculation.a do %> 
    <% @newAmount = ((@amount/(@percent)) + @amount) %>
    <%= "#{i}" + " - #{@amount}" %><br />
    <% @amount=@newAmount %>
  <% end %>
<script type="text/javascript" charset="utf-8">
  $(function() {
    new Highcharts.Chart({
      chart: {
    renderTo: "calculations_chart"
      },
      title: {
    text: "Sum for a year"
      },
      xAxis: {
    text: "Years"
      },
      yAxis: {
    title: {
      text: "Sum"
        }
      },
      series: [{
    data: //for loop?
      }]
    });
  });
</script>
<div id="calculations_chart" style="width:560px; height:300px;"></div>

【问题讨论】:

  • 你的意思是什么for循环?预先计算的数据服务器端?将 json 编码的输出放置到页面上的某个位置(在 scipt 标签内),解码并将其放置到数据中

标签: javascript ruby-on-rails highcharts


【解决方案1】:

如果你有一个在循环中计算出来的值,你可以把它放在你想要的位置

series: [{
data: [<%=@amount%>]
  }]

或者,如果您有一系列数据存储在某个地方,您想要迭代并将它们添加到您的图表中

series: [
      {
      data: [
<% for i in 0..@calculation.a do %> 
  <% @amount = ((@amount/(@percent)) + @amount) %>
  <%= @amount %>,
<% end %>
 ]}
]

页面中有很多逻辑,您可能需要考虑将其移至控制器或模型。为了在多个地方实现超级可重用性,您可以有一个操作以 JSON 格式提供您在需要它的页面中异步获取的数据。

编辑以匹配高图格式

【讨论】:

  • 感谢您的回复!基本上我只在这个页面需要这个。这是“显示”视图,如果我在浏览器中打开它,那么这就是我经常看到的视图。我尝试了代码,但它给了我空白点。没有错误没有,只是空白。我确实有一系列数据要存储,我想将它们添加到图表中。
  • 刚刚看了一个highchart的例子来获取他们想要的数据格式,试试编辑版的代码。您可以查看源代码以确保数据存在,还可以检查控制台以确保没有错误
  • 还是一样。在源中有现在存储的数据
  • 尝试在页面正文中添加一些调试,例如:'amount is holding:'。如果它为空白,则没有数量数据。还要验证控制台中没有错误
  • 兄弟你太搞笑了!!现在我需要做的就是让数据正确,我想现在我的图表循环开始了,prevoius for 循环结束了。再次感谢您,祝您有美好的一天! =)
猜你喜欢
  • 2020-06-09
  • 2013-06-27
  • 1970-01-01
  • 1970-01-01
  • 2011-11-16
  • 2014-12-23
  • 2021-01-30
  • 2015-06-17
  • 2015-02-20
相关资源
最近更新 更多