データセットのタイムスパンごとに新しいシリーズを作成することで、キャップ付きの水平線グラフを作成できました。
これは私が目指している外観を反映していますが、これが私の目標を達成するための最も効率的な方法であるかどうか疑問に思っています.
public class PlayerSession
{
public string PlayerSessionId { get; set; }
public string PlayerName { get; set; }
public DateTime LoginDateTime { get; set; }
public DateTime LogoutDateTime { get; set; }
}
@model List<PlayerSession>
@{
List<List<List<string>>> series = new List<List<List<string>>>();
foreach(PlayerSession playerSession in this.Model)
{
series.Add(new List<List<string>> {
new List<string> {
playerSession.LoginDateTime.ToString(),
playerSession.PlayerName
},
new List<string> {
playerSession.LogoutDateTime.ToString(),
playerSession.PlayerName
}
});
}
}
<div id="player-session-graph"></div>
<script type="text/javascript">
$(document).ready(function () {
$.jqplot('player-session-graph', @Html.Raw(Json.Encode(series)),{
seriesDefaults: {
showMarker: false,
color: '#446C32',
lineWidth: 10,
lineCap: 'butt'
},
axes: {
yaxis: { renderer: $.jqplot.CategoryAxisRenderer },
xaxis: {
renderer: $.jqplot.DateAxisRenderer,
tickOptions: {
formatString: "%a, %b %e, %Y", angle: -30
},
min: '2013-05-19',
max: '2013-05-25',
tickInterval: '1 day'
}
}
});
});
</script>
結果は次のとおりです。
これらの線をプロットするより効率的な方法についての洞察は歓迎されます。ありがとう!