You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C3.js设置tick的multiline:false无效,如何实现左侧刻度单行显示?

解决C3.js旋转柱状图左侧刻度无法单行显示的问题

你遇到的问题是启用rotated: true后,分类轴(原X轴)的文本渲染逻辑需要额外调整,仅设置全局的axis.tick.multiline: false不足以覆盖C3的默认样式和渲染行为。以下是两种可行的解决方法:

方法一:精准配置轴的tick参数

将multiline: false配置到对应轴的tick选项中,确保配置直接作用到目标轴:

修改后的JS代码:

var graph = c3.generate({
    bindto: "#chart",
    data: {
        columns: [
            ["name1","5.00","3.00"],
            ["name2","3","2"]
        ],
        type : 'bar',
        colors : {
            "name1": "#00ff00",
            "name2": "#0000ff"
        },
    },
    bar: {
        width: 10
    },
    axis: {
        x: {
            type: 'category',
            categories: [
                "test looooooong string no multiline",
                "string 2"
            ],
            tick: {
                multiline: false // 将配置放在X轴的tick子项中
            }
        },
        rotated: true
    },
    transition: {
        duration: 1000
    },
    padding: {
        bottom: 20,
        left: 200 // 增加左侧内边距,避免长文本溢出容器
    },
    title: {
        text: 'titolo'
    }
});

方法二:添加自定义CSS强制不换行

如果配置调整后仍不生效,可直接通过CSS强制tick文本保持单行:

添加以下CSS代码:

.c3-axis-x .tick text {
    white-space: nowrap !important;
    text-overflow: ellipsis; /* 可选:文本过长时显示省略号 */
    overflow: hidden;
}

内容的提问来源于stack exchange,提问作者user2342558

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 16:15:19