Javascript C3.js中的行超出了图表区域

Javascript C3.js中的行超出了图表区域,javascript,c3.js,Javascript,C3.js,我在C3.js图表库中遇到一个错误。当您查看图像时,您可以看到折线图超出“图表区域”,在某些峰值情况下不可见。我会忽略标签不可见的事情,但我很乐意看到没有隐藏部分的线条 以下是用于再现错误的配置: const config = { x: { tick: { rotate: -45, format: '%Y-%m-%d %H:%M:%S' },

我在C3.js图表库中遇到一个错误。当您查看图像时,您可以看到折线图超出“图表区域”,在某些峰值情况下不可见。我会忽略标签不可见的事情,但我很乐意看到没有隐藏部分的线条

以下是用于再现错误的配置:

const config = {
        x: {
            tick: {
                rotate: -45,
                format: '%Y-%m-%d %H:%M:%S'
            },
            type: 'timeseries',
            height: 85,
            padding: {left: 30}
        },
        y: {
            label: {position: 'outer-middle', text: 'Event count'},
            min: 0,
            padding: {top: 0, bottom: 0}
        }
    },
    bindto: '#single-chart',
    color: {pattern: ['#323f71']},
    data: {
        x: 'x',
        xFormat: '%Y-%m-%d %H:%M:%S',
        labels: true,
        type: 'area-spline'
    },
    legend: {show: false},
    size: {height: 380},
    padding: {
        right: 50,
        left: 80
    },
    grid: {
        y: {
            show: true
        }
    }
};

现在有人知道如何解决这个问题了吗?

我认为答案是与axis.y.padding.top=0设置相关的。但是,我的示例与您的示例略有不同,因为我从未丢失线条图。我能复制你的唯一方法是设置axis.y.max=1400,然后将绘图的顶部切掉。如果没有,请您取消隐藏y轴线并发布另一个图像,因为查看线终止符勾号是否位于轴的顶部会很有用

请参阅下面的工作代码段,该代码段以您的代码和案例为模型,但与稍微重写的代码段不完全相同。该按钮在y.top padding(y.top padding)为20和0之间切换以显示效果。您可以看到最高的打印点标签被上限剪裁掉。您可能希望尝试完全删除该设置

//找不到更改axis.y.padding.top以便重新绘制图表以显示效果的可用方法。
函数resetIncPadding(yPaddingTop){
var图表=c3.0(
{
bindto:'图表',
尺寸:{
宽度:600,
身高:200
},
数据:{
x:‘x’,
//X格式:“%Y-%m-%d%H:%m:%S”,
标签:对,
类型:“面积样条线”,
栏目:[
['x',
'2018-01-01','2018-01-02','2018-01-03','2018-01-04','2018-01-05','2018-01-06','2018-01-07','2018-01-08','2018-01-09','2018-01-10','2018-01-11','2018-01-12','2018-01-13','2018-01-14','2018-01-15','2018-01-16','2018-01-17','2018-01-18','2018-01-19','2018-01-20','2018-01-21','2018-01-22','2018-01-23','2018-01-24','2018-01-25','2018-01-26','2018-01-27','2018-01-28','2018-01-29','2018-01-30','2018-01-31'
],
[y',5,10,15,10,10,10,10,5,30,9050010001200150012301110620,80,30,10,5,15,5,15,15,12,15,10,10,10
]
]
},
颜色:{图案:['#323f71']},
轴线:{
x:{
键入:“timeseries”,
勾选:{
轮换:-45,
格式:“%Y-%m-%d%H:%m:%S”
},
身高:85,
填充:{左:30}
},
y:{
标签:{位置:'outer middle',文本:'Event count'},
分:0,,
填充:{top:yPaddingTop,bottom:0}
}
},
图例:{show:false},
填充:{
右:50,,
左:80
},
网格:{
y:{
秀:真的
}
}   
});
}
//这一切都是关于切换填充。
$('#toggle')。打开('click',函数(e){
val=$(this.val();
val=(parseInt(val,10)==20?0:20);
$(this.val(val).html(val)
重置填充(val);
console.log(val)
})
//启动时首先使用
重设填充(20)

使用axis.y.padding.top=20


注释掉“size:{height:380}”行,看看你得到了什么。另外,包含div的高度是否受到限制,或者在顶部边缘的另一个元素下?好的,大小attr似乎不是问题-我刚刚运行了一些测试,C3的行为应该是这样的,可以缩放以适应允许的高度。那么回到包含元素-它有问题吗?我注释掉了大小:{height…问题仍然存在。我可以通过
c3.chart.internal.fn.getInterpolate=function(){return'monotone'}来修复它
但是曲线不如前一条好。标签的问题仍然存在:-/对我建议的答案有任何反馈吗?对不起,我错过了。包含的div不限于任何高度。你是对的!问题来自
填充:{top:0}
当我将其更改为30时,所有值现在都可见。谢谢!