0

データセットのタイムスパンごとに新しいシリーズを作成することで、キャップ付きの水平線グラフを作成できました。

これは私が目指している外観を反映していますが、これが私の目標を達成するための最も効率的な方法であるかどうか疑問に思っています.

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>



結果は次のとおりです。

ここに画像の説明を入力



これらの線をプロットするより効率的な方法についての洞察は歓迎されます。ありがとう!

4

1 に答える 1

0

棒グラフに関する jqPlot のドキュメントによると、次のように指定できます。

barWidth  : z

rendererOptions{} 部分。ここで、z はバーの幅をピクセル単位で表します。同じ軸の値に複数のバーがある場合は、barPadding と barMargin を指定することもできます。

于 2013-07-15T05:49:02.427 に答える