【问题标题】:highcharts: issueshighcharts:问题
【发布时间】:2012-08-09 19:03:08
【问题描述】:

我正在使用 highcharts 制作应用程序,在遇到许多问题后,我终于绘制了图表,但现在获取了正确的数据,但我需要进行一些调整。

例如,如果用户在同一天注册了一个新日志,它应该承担该日志的成本并将其添加到同一天的日志中,或者只是显示是否没有更多日志,我遵循 railcast episode 223 和帮我一点。但我的问题是:当我添加新日志时,它会创建一个新栏: (只有2个日志,我要创建一个新日志) 这是我的应用程序所做的。

我还需要修复日期时间,这是我的代码:

    $(function () {
      new Highcharts.Chart({
        chart: { renderTo: 'foo_chart',defaultSeriesType: 'column' },
        title: { text: 'tanking costs daily' },
        xAxis: { type: 'datetime' },
        yAxis: {
          title: { text: 'cost' }
        },
        tooltip: {
          formatter: function () {
            return Highcharts.dateFormat("%B %e %Y", this.x) + ': ' + '$' + Highcharts.numberFormat(this.y, 2);
          }
        },
        series: [{
          name: 'Days',
          pointInterval: <%= 1.day * 1000 %>, 
          pointStart: <%= 1.weeks.ago.at_midnight.to_i * 1000 %>,
          data:[
            <% for tankinglog in @tankinglog  %>
              <%= "(" + tankinglog.cost.to_f.round(2).to_s + "),"%>
            <% end %>
          ]
        }]
      });
    });

如果您看到图片上的列表,我有 3 个日志...最后 2 个日志具有相同的日期,它们必须与它们的成本总和出现在同一个栏中

【问题讨论】:

  • 您是如何获取数据的?你的系列是什么样的?您是想只显示在 Day1 制作的所有日志,还是想显示每个日志在 Day1 的什么时间制作的?

标签: javascript arrays ruby-on-rails-3 highcharts


【解决方案1】:

你的问题很混乱。您希望将所有数据汇总到一个条中吗?为data 列表中的每个号码创建一个新栏。因此,您的 for-each 循环正在为 @tankinglog 中的每个项目创建一个新栏。解决方案是将所需内容汇总为一个数字,然后将其添加到列表中。

我不确定您要问的确切内容,因为您的问题很糟糕,但这里将所有值汇总到一个栏中。

$(function () {
  new Highcharts.Chart({
    chart: { renderTo: 'foo_chart',defaultSeriesType: 'column' },
    title: { text: 'tanking costs daily' },
    xAxis: { type: 'datetime' },
    yAxis: {
      title: { text: 'cost' }
    },
    tooltip: {
      formatter: function () {
        return Highcharts.dateFormat("%B %e %Y", this.x) + ': ' + '$' + Highcharts.numberFormat(this.y, 2);
      }
    },
    series: [{
      name: 'Days',
      pointInterval: <%= 1.day * 1000 %>, 
      pointStart: <%= 1.weeks.ago.at_midnight.to_i * 1000 %>,
      data:[
        <% 
        result = 0;
        for tankinglog in @tankinglog 
            result += tankinglog.cost.to_f
        end %>
        <%= result.round(2).to_s %>
      ]
    }]
  });
});

【讨论】:

  • 好吧,抱歉这个问题太令人困惑了,我需要这么近,
  • 我需要的是,如果有一天变得更像日志。加入这些日志并显示在一个栏上,因此,显示各种栏以及每天的日志总成本......再次抱歉,我不会说那么多英语
  • 如果您看到图片上的列表,我有 3 个日志...最后 2 个日志具有相同的日期,这些日志必须与它们的成本总和出现在同一个栏中
  • 我不知道您的数据是如何组织的,所以我无法为您提供详细的代码。但是,您应该能够对上面的代码进行一些小的修改来做您想做的事情。
猜你喜欢
  • 2013-04-19
  • 2016-08-20
  • 2019-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-26
相关资源
最近更新 更多