我只是想将图例块的方向更改为水平,但它始终以垂直方式显示。这是相关的代码:
newData.traces = newData.traces
.filter(trace => trace.name === 'Self Pay' || trace.name === 'Bank Loan')
.map(trace => {
return {
...trace,
mode: 'lines+markers',
fillcolor: colors[trace.name].fill,
fill: 'tozeroy',
line: {
color: colors[trace.name].line
}
};
});
newData.layout = {
...newData.layout,
yaxis: {
...newData.layout.yaxis,
title: 'TOTAL SAVINGS (1K)'
},
xaxis: {
...newData.layout.xaxis,
title: 'YEARS SINCE INSTALLATION'
},
legend: {
orientation: 'h',
y: 1.30,
x: 0.25
},
paper_bgcolor: 'transparent',
plot_bgcolor: 'transparent'
};
console.log("newData.layout: ", newData.layout);
newData.traces = newData.traces.filter(t => data.modeStatus[t.name]);
Plotly.newPlot($(chart).attr('id'), newData.traces, newData.layout, {displayModeBar: false});
正如您所看到的,我生成布局对象的方式有点复杂,但legend
对象显然有orientation: 'h'
,所以它应该水平显示图例,对吧?
这是相关图表的屏幕截图和控制台中的输出:
知道什么可能导致这样的问题?我非常确定它在某一点上工作正常,但由于某种未知的原因,它一直在垂直渲染图例块。
这是所需结果的图片: