Выровняйте значение 0 по оси Y в середине контейнера в Plotly. js - PullRequest
0 голосов
/ 03 мая 2020

Игра с Plotly. js и должна составлять гистограмму с накоплением с положительными и отрицательными значениями, но таким образом, чтобы 0-значение оси Y было выровнено в середине контейнера. как мне этого добиться?

Это моя игровая площадка, где я застреваю: https://codepen.io/anatoly314/pen/oNjopvR

Сейчас мой макет выглядит следующим образом, но лучше посмотреть на моем примере кода, чтобы получить полную картину.

const layout = {
        yaxis: {
          visible: true,
          constraintoward: 'center',
          showticklabels: false
        },
        xaxis: {
          visible: false
        },
        barmode: 'relative',
        showlegend: false,
        margin: {
          l: 0,
          r: 0,
          t: 0,
          b: 0
        },
        autosize: true,
        height: 200,
        width: 100,
        displayModeBar: false
      };

Заранее спасибо

1 Ответ

1 голос
/ 03 мая 2020

Вам нужно будет вручную установить диапазон оси Y.

const dataN = [trace1, trace2];
const dataP = [trace3, trace4];

const alldata = [...trace1.y, ...trace2.y, ...trace3.y, ...trace4.y];
const maxValue = Math.max(...alldata.map( e => Math.abs(e)));

var layout = {
   yaxis: {
      visible: true,
      constraintoward: 'center',
      showticklabels: false,
      range: [-maxValue,maxValue]
    },

Кодовая вилка для ручки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...