C# 带间隙的jqPlot线图

C# 带间隙的jqPlot线图,c#,jquery,asp.net-mvc,jqplot,C#,Jquery,Asp.net Mvc,Jqplot,通过为数据集中的每个时间间隔创建一个新的系列,我已经能够创建带有大写字母的水平线图形虽然这反映了我想要的外观,但我想知道这是否是实现我目标的最有效方式。 public class PlayerSession { public string PlayerSessionId { get; set; } public string PlayerName { get; set; } public DateTime LoginDateTime { get; set; }

通过为数据集中的每个时间间隔创建一个新的系列,我已经能够创建带有大写字母的水平线图形

虽然这反映了我想要的外观,但我想知道这是否是实现我目标的最有效方式。

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>
public class PlayerSession
{
公共字符串播放器会话ID{get;set;}
公共字符串播放器名称{get;set;}
公共日期时间登录时间{get;set;}
public DateTime LogoutDateTime{get;set;}
}
@模型列表
@{  
列表系列=新列表();
foreach(此.Model中的PlayerSession PlayerSession)
{
添加(新列表{
新名单{
playerSession.LoginDatime.ToString(),
playerSession.PlayerName
},
新名单{
playerSession.LogoutDateTime.ToString(),
playerSession.PlayerName
}
});     
}   
}
$(文档).ready(函数(){
$.jqplot('player-session-graph',@Html.Raw(Json.Encode(series)){
系列默认值:{
showMarker:false,
颜色:“#446C32”,
线宽:10,
线头:“屁股”
},
轴线:{
yaxis:{renderer:$.jqplot.CategoryAxisRenderer},
xaxis:{
渲染器:$.jqplot.DateAxisRenderer,
选择:{
格式字符串:“%a,%b%e,%Y”,角度:-30
},
最小值:“2013-05-19”,
最大值:“2013-05-25”,
间隔时间:“1天”
}
}
});
});


结果如下:



任何关于绘制这些线的更有效方法的见解都将受到欢迎。谢谢

根据,您可以指定:

barWidth  : z

在渲染器选项{}部分中。其中z表示条形图的宽度(以像素为单位)。如果在同一个轴值上有多个条,也可以指定barPadding和barMargin。

我认为条宽指的是条的宽度,假设是垂直方向。它将生成较轻的条(或较厚的条)