Javascript 在Billboard.js中对齐同一图表上的多个y轴
该图表包含相对于两个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
和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"
};
}