在列标签和 x 轴标签之间添加 space c3 图表

Add space between column label and x-axis label c3 chart

这是图表的样子,我正在尝试在列标签和 x 轴标签之间留出一些边距。

我试过添加这个样式

text.c3-axis-x-label {
        margin-top: 10px ;
    }

有没有属性增加space?

填充是你需要的 --> https://c3js.org/reference.html#padding-bottom

将您选择的值(以像素为单位)添加到您的图表配置中 -->

padding: {
    bottom: 50,
},

例如https://jsfiddle.net/56k48r70/

(margin-top 不起作用,因为它是 html 元素的 css 属性,而 c3 是所有 svg 元素)

编辑:

哈,我完全没有正确阅读你的问题。我假设图表底部的文字是图例而不是 x 轴标签。

仍然可行,您还需要更改该文本标签的 "dy" 属性(这是一个属性而不是 css,因此必须在代码中完成)

将此添加到您的配置中:

 onrendered: function () {
                d3.select(this.config.bindto).select(".c3-axis-x-label").attr("dy", "60px");
        },

这将通过更改 60px 值将 x 轴标签向下移动任意幅度。不过,您仍然需要填充,否则标签可能会移出可见图表区域。即在下面的 fiddle 中,如果您删除底部填充,x 轴标签将在绿色下方消失 div:

https://jsfiddle.net/zygrjut4/

抱歉没有正确阅读您的问题!

我在 onrendered 方法中添加处理程序时发现了一些干扰。

你可以简单地使用X轴的height 属性来控制它,如下所示,

axis: {
    x: {
        height: 10
    }
}

您可以在官方文档this section中找到更多详细信息。