Javascript 在Billboard.js中对齐同一图表上的多个y轴

Javascript 在Billboard.js中对齐同一图表上的多个y轴,javascript,d3.js,charts,billboard.js,Javascript,D3.js,Charts,Billboard.js,该图表包含相对于两个Y轴定位的数据,Y和y2 这就是它的样子: 因此,红线由一个y轴生成,条形由另一个y轴生成 在这种情况下,红线的值始终为正值(该值为13.91,但该线看起来大约为-5),但由于轴未对齐,因此看起来不太好 执行此操作的代码: const chartDataConfig = { data: { columns: series.columns, }, ... axis: { x: { labe

该图表包含相对于两个Y轴定位的数据,
Y
y2

这就是它的样子:

因此,红线由一个y轴生成,条形由另一个y轴生成

在这种情况下,红线的值始终为正值(该值为13.91,但该线看起来大约为-5),但由于轴未对齐,因此看起来不太好

执行此操作的代码:

const chartDataConfig = {
    data: {
        columns: series.columns,
    },
    ...
    axis: {
        x: {
            label: {
                text: context.labels.xLabel,
            },
        },
        y: {
            label: {
                text: context.labels.yLabel,
            },
        },
        y2: {
            label: {
                text: context.labels.y2Label,
            },
        },
    },
    ...
};

有没有办法将这两个轴对齐以便从同一点开始?

我不确定在您的情况下是否“对齐”,但如果您需要使
y
y2
轴具有相同的比例视图,请设置相同的
min
max
轴值

看看这个例子

var图表=bb.generate({
数据:{
栏目:[
[“数据1”、30、20、-5、40、15、25],
[“数据2”、3、10、20、10、25、15]
],
颜色:{
数据2:“红色”
},
类型:{
数据1:“巴”
},
轴线:{
数据1:“y”,
数据2:“y2”
}
},
轴线:{
y:{
最小:-10,
最高:35
},
y2:{
最小:-10,
最高:35,
秀:真的
}
}
});

billboard.js

我想他想让y轴和y2轴的0点水平对齐,而不想得到相同的比例视图和/或相同的最大值。此外,y轴和y2轴具有相同的比例,最小值,最大值,这是否违背了拥有两个轴的目的?@bgiuga,在这种情况下,只需为两个轴设置相同的
min
值即可满足需要。但是,正如我在开始时所指出的,我不知道需求的确切目的。@JaeSungPark如果两个Y轴具有不同的比例(通常情况下),仅设置最小值似乎是不够的。匹配最小值只是意味着图的底部从相同的数字开始,但“0”位置不会在两者之间对齐。这使得任何时候都会出现一些令人困惑的视觉效果,无论是正数还是负数,但尺度不同。如果有一种方法可以对齐y轴的零位置,那就太好了,但我知道这可能不是一个很常见的要求。
function getDefaultConfig() {
    return {
        data: {
            x: "x",
        },
        ...
        axis: {
            x: {
                ...
            },
            y: {
                label: {
                    position: "outer-middle"
                },
            },
            y2: {
                show: true,
                label: {
                    position: "outer-middle"
                },
            },
        },
        bindto: "#my-chart"
    };
}