【问题标题】:google chart api data asp.net谷歌图表 api 数据 asp.net
【发布时间】:2017-03-09 01:11:22
【问题描述】:

我在 google chart api 的帮助下创建了一个图表,但在图表上正确显示月份的名称时遇到了问题,例如2017 年 2 月或 2017 年 3 月。

My Chart

我在控制器中的代码如下:

public ActionResult ListOrder()
    {


        var result = from s in db.Orders.ToList()
                     group s by
                         new { Year = s.dateCreated.Year, Month = s.dateCreated.Month, Day = 1 }
                         into g
                         select new OrderViewModel
                         {
                             dateCreated = new DateTime(g.Key.Year, g.Key.Month, g.Key.Day),
                             TotalPrice = g.Sum(x => x.totalPrice)
                         };
        return Json(result, JsonRequestBehavior.AllowGet);

My code in view looks like

欢迎任何帮助或建议。提前致谢!

【问题讨论】:

    标签: jquery asp.net asp.net-mvc charts google-visualization


    【解决方案1】:

    为了格式化轴标签,x 轴值必须是实际日期,而不是字符串

    字符串中的整数可用于获取正确的日期

    -- 将第一列转换为实际日期

    来自:"/Date(1483225200000)/"

    收件人:new Date(1483225200000)

    // change column data type to 'date'
    data.addColumn('date', 'Month');
    data.addColumn('number', 'Total sum order for month');
    
    for (var i = 0; i < chartData.length; i++) {
        var rowDate;
    
        // convert dateCreated
        rowDate = chartData[i].dateCreated;
    
        // replace first forward slash (/) with 'new'
        rowDate = rowDate.replace('/', 'new ');
    
        // remove second forward slash (/)
        rowDate = rowDate.replace('/', '');
    
        // evaluate the string to an actual date
        rowDate = eval(rowDate);
    
        data.addRow([rowDate, chartData[i].TotalPrice]);
    }
    

    一旦确定了实际日期,就可以在图表选项中设置格式...

    hAxis: {
      format: 'yyyy-MM'
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多