NVD3 горното поле на диаграмата, осигуряващо място за заглавие на диаграмата, не работи

Искам да имам текст на заглавието, подобен на описания в този отговор. Исках да посоча горно поле, за да осигуря място за него. Обаче margin.top изглежда няма никакъв ефект.

Посочвам полето по този начин в javascript:

chart.margin({
        top: 1000,
        right: 100,
        bottom: 0,
        left: 100
    });

Всички други маржове работят според очакванията. Опитайте моята кратка демонстрация на адрес http://jsfiddle.net/6DgVP/2/ (кредитите отиват на оригиналния пример, който модифицирах) . Всички полета работят с изключение на горния.

Известен проблем ли е? Мога ли да го оправя по някакъв начин?


person Gábor Lipták    schedule 28.04.2014    source източник


Отговори (1)


Хм, звучи ми като бъг. Проблемът е тази част от кода в този файл:

if ( margin.top != legend.height()) {
      margin.top = legend.height();
      availableHeight = (height || parseInt(container.style('height')) || 400)
                         - margin.top - margin.bottom;
    }

Това игнорира настройката на margin.top, ако се показва легенда, като я настройва на височината на легендата. Разбира се, можете да скриете легендата, за да вземете под внимание горното поле (което направих тук), но можете също да зададете горното поле на легендата, за да постигнете това:

chart.legend.margin({top: 30});

Пълна демонстрация тук.

person Lars Kotthoff    schedule 28.04.2014
comment
Добре. И аз си помислих, че това е грешка. Отворих проблем: github.com/novus/nvd3/issues/515 . Благодаря за вашето проучване. - person Gábor Lipták; 28.04.2014