Javascript 自定义网格线和轴图表

Javascript 自定义网格线和轴图表,javascript,charts,chart.js,Javascript,Charts,Chart.js,我试图设计一个CDF图表,使用chartjs在图表中显示概率。基本上,我将始终有100个点,从0开始到我预先计算的某个最大值,我希望生成我所附的图表。平滑且网格线不多。我试着使用图表类型“line”,但距离它还很远 你能帮我正确地配置图表吗 我正在寻找的示例: 首先关于网格线,您可以在图表选项中更改xAxes的步长(例如设置为10),这样您的垂直网格线将减少10倍(因为默认情况下,xAxes步长似乎为1)。 如果大的点困扰您,当您创建数据集时,您可以将其点半径更改为0;这样,没有点只显示一条

我试图设计一个CDF图表,使用chartjs在图表中显示概率。基本上,我将始终有100个点,从0开始到我预先计算的某个最大值,我希望生成我所附的图表。平滑且网格线不多。我试着使用图表类型“line”,但距离它还很远

你能帮我正确地配置图表吗

我正在寻找的示例:


首先关于网格线,您可以在图表选项中更改xAxes步长(例如设置为10),这样您的垂直网格线将减少10倍(因为默认情况下,xAxes步长似乎为1)。 如果大的点困扰您,当您创建数据集时,您可以将其点半径更改为0;这样,没有点只显示一条平滑线。 最后,您可以通过设置属性borderColor来更改每个数据集行的颜色

查看此页面了解更多自定义信息:


希望这能有所帮助。

我注意到大多数人只通过代码添加线条样式。我只花了1小时寻找设置,因为我只更改了一次,但之后就无法再次更改

怎么做。Stackoverflow上的帖子为我指明了正确的方向。

线条:this.chart1.ChartAreas[0].axix.LineDashStyle.Dot

转到属性->图表->图表区域,然后单击下一个集合中的3个点(…)

在集合中,转到轴并再次单击下一集合中的3个点(…)

您将有两个轴:X和Y。选择每个轴并转到所需部分以更改属性。小心。它们隐藏得很好,但我试图突出显示所有选项。当然,要执行自定义修改,必须对其进行编码


这是一个没有autoSkip的解决方案,使用网格线颜色选项隐藏不需要的x轴网格线。(对不起,我的英国拼法是‘颜色’!)

我不能使用autoSkip,因为我的时间/x轴标签只显示一次新年、月份和日期,而且我无法确定如何不跳过指示新月份的特定标签。我最终发现可以在数组中定义网格线颜色,所以我的解决方案是创建一个网格线颜色数组,将图表背景颜色设置为我要隐藏的网格线。在我的例子中,当我不需要标签和网格线,只需要一个数据点时,我已经发送了一个带有空值的标签列表

var labels = data3json['labels'].split(',');

//set gridline colour to background when label is empty:
var xaxis_gridline_colours = [];
for (var i = 0; i < labels.length; i++) {
    if (labels[i].length > 0) {
        if (i == 0) {
            xaxis_gridline_colours.push("#cccccc"); //x and y axis!
        } else {
            xaxis_gridline_colours.push("#dddddd"); //visible gridline
        }
    } else {
        xaxis_gridline_colours.push("#ffffff"); //invisible gridline
        //or call a chart background colour variable like:
        //xaxis_gridline_colours.push(chart_bkg_colour);
    }
}

你能帮我回答这个问题吗
chart = new Chart(ctx24, {         
    options: {
        scales: { 
            xAxes: [{
                gridLines: {
                    display: true, //default true   
                    color: xaxis_gridline_colours,

                  etc