MVCでJSonアクションメソッドの結果を使用して非常に単純な棒グラフを作成しようとしています。私は実際の棒グラフを取得しますが、オプションやそのすべてを十分に理解していないので、基本的に何をすべきかを推測しています。 HighChartsサイトの例をサーバーコードからデータを取得してグラフを作成する方法の例として使用しました。違いは私のグラフは例より簡単です。私はフルーツの例のように各ユーザーのためのカテゴリを持っていない、私はユーザーと時間の数だけ記録されています。ここで jQuery HighChartsとMVC 2アプリケーションの単純な棒グラフですか?
はHighCharts jQueryのコードです:function getHighChart() {
var actionUrl = '<%= Url.Action("GetChartData") %>';
var customerId = $('#customersId').val();
var startdate = $('.date-pickStart').val();
var enddate = $('.date-pickEnd').val();
var options = {
chart: {
renderTo: 'chart-container',
defaultSeriesType: 'bar'
},
title: {
text: 'Statistik'
},
xAxis: {
categories: []
},
yAxis: {
title: {
text: 'Timmar'
}
},
series: []
}
jQuery.getJSON(actionUrl,
{ customerId: customerId, startdate: startdate, enddate: enddate }, function (items) {
var series = {
data: []
};
$.each(items, function (itemNo, item) {
series.name = item.Key;
series.data.push(parseFloat(item.Value));
});
options.series.push(series);
var chart = new Highcharts.Chart(options);
});
}
そして、ここでJSONを返すアクションメソッドです:
public JsonResult GetChartData(string customerId, string startdate, string enddate)
{
int intcustomerId = Int32.Parse(customerId);
var emps = from segment in _repository.TimeSegments
where
segment.Date.Date >= DateTime.Parse(startdate) &&
segment.Date.Date <= DateTime.Parse(enddate)
where segment.Customer.Id == intcustomerId
group segment by segment.Employee
into employeeGroup
select new CurrentEmployee
{
Name = employeeGroup.Key.FirstName + " " + employeeGroup.Key.LastName,
CurrentTimeSegments = employeeGroup.ToList(),
CurrentMonthHours = employeeGroup.Sum(ts => ts.Hours)
};
Dictionary<string, double > retVal = new Dictionary<string, double>();
foreach (var currentEmployee in emps)
{
retVal.Add(currentEmployee.Name, currentEmployee.CurrentMonthHours);
}
return Json(retVal.ToArray(), JsonRequestBehavior.AllowGet);
}
私は、円グラフを作成することができたが、今は簡単に作成したいときbar私はjQueryコードの内容を理解することができないので、凡例にリストされている唯一のユーザーのうちの最初のものが配列の最後のものです。第二に、ツールチップには、[ユーザー名]:29の代わりにx = [ユーザーの名前]、y = 29が表示されます。これは円グラフにあります。
このJSonからHighChartsでこのような単純な棒グラフを作成するにはどうすればよいですか?
感謝。それは私のために働いた.. :) –