如何使用列表作为一系列图表元素显示图表

时间:2015-05-27 23:20:45

标签: c# asp.net-mvc

我已将列表存储为键值对,因此我可以将键用作xValue,将值用作yValues。现在我的问题是:如何在AddSeries的{​​{1}}图表中为System.Web.Helpers元素使用此列表?

MVC

我希望在

中使用此列表
 double TotalDebts = 300000;

List<KeyValuePair<int, decimal>> dResult = new List<KeyValuePair<int, decimal>>();
List<int> lIndex = dResult.Select(x => x.Key).ToList();
List<decimal> lDepts = dResult.Select(x => x.Value).ToList();

for (int i = 0; i < 250; i++)
{

    if (TotalDebts > 0)
    {

        decimal DebtsLessIncome = Convert.ToDecimal(TotalDebts - 5000);
        decimal InterestCharged = Convert.ToDecimal((DebtsLessIncome * 5) / 100);
        decimal InterestDebt = Convert.ToDecimal(DebtsLessIncome + InterestCharged);
        decimal InterestDebtMLE = Convert.ToDecimal(InterestDebt + 1000);
        TotalDebts = Convert.ToDouble(InterestDebtMLE);

       dResult.Add(new KeyValuePair<int,decimal>());


    }
}

我只是尝试使用硬编码值。它工作正常,但我不知道如何将该列表汇总到var key = new Chart(width: 1000, height: 400, theme: Green) .AddTitle("Employee Chart") .SetXAxis("Total Year", 1) .SetYAxis("Money") .AddLegend("") .AddSeries( chartType: "line", name: "Current Scenario", xValue:lIndex, //new[] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" }, yValues:lDepts) //new[] { "220000", "200000", "180000", "150000", "120000", "50000", "35000", "25000", "15000", "10000", "0" }) xValue

1 个答案:

答案 0 :(得分:0)

之前我没有在MVC中使用过图表,但是如果您更改以下内容,那么阅读您提供的代码示例将会有效:

List<int> lIndex = dResult.Select(x => x.Key).ToList();
List<decimal> lDepts = dResult.Select(x => x.Value).ToList();

成为string数组:

string[] lIndex = dResult.Select(x => x.Key.ToString()).ToArray();
string[] lDepts = dResult.Select(x => x.Value.ToString()).ToArray();

...

对于图表,我更喜欢从服务器端返回JSON结果,并使用许多优秀的JavaScript图表库之一来渲染它。