高图表值系列映射

Highchart value series mapping

本文关键字:映射 系列 高图表      更新时间:2023-09-26

我在将数据插入高图表时遇到问题,我尝试从 http://www.highcharts.com/stock/demo 自定义示例但是我的图表没有显示任何信息,我查看了示例数据,它的格式与我的数据相同:

这是我在 c# 中的代码:

[HttpPost]
public JsonResult GetData()
{
    ...
    var view= new JavaScriptSerializer().Serialize(dictionary.dicValues.Select(x => new object[] {x.Key, x.Value}));
    view= Regex.Replace(view, @"'""''/Date'((-?'d+)')''/'""", "$1");
    view= view.Replace(@"[", "").Replace(@"]", "");
    return new JsonResult
    {
        Data = new
        {
            view
        },
        ContentType = null,
        ContentEncoding = null,
        JsonRequestBehavior = JsonRequestBehavior.AllowGet
    };
}

这是我用于创建高图表的 js 代码:

$(elem).highcharts('StockChart', {
    rangeSelector: {
        selected: 1
    },
    title: {
        text: "title"
    },
    xAxis: {
        type: 'datetime',
    },
    yAxis: {
        type: 'double',
    },
    series: [{
            name: 'AAPL',
            data: data.view,
            tooltip: {
                valueDecimals: 2
            }
    }]
});

这是我传递给视图的数据:

"

1421751600000,4.9928500000000007,1421755200000,13.314966666666665,1421758800000,8.316766666666668,1421845200000,14.738,14218488000000,7.9762000000000013"

或者如果我没有删除括号:

"[[1421751600000,4.9928500000000007],[1421755200000,13.314966666666665],[1421758800000,8.31676666666668],[1421845200000,14.738],

[1421848800000,7.9762000000000013]]"

如果有人能帮助我,我将不胜感激!

您应该能够简单地执行以下操作:

public JsonResult GetData()
{
    return new JsonResult() 
    { 
        Data = dictionary.dicValues.Select(x => new object[] {x.Key, x.Value})
    };
}

JsonResult 的默认值应提供正确的ContentType设置,并且它应自动使用默认序列化程序将对象序列化为正确的 JSON 字符串(除非需要一些自定义序列化)。