2013-10-02 6 views
3

Короткий вопрос: Можно ли по вертикали выровнять легенду nvd3 на левой или правой стороне контейнера диаграммы?Вертикально выровнять легенду nvd3

Я пробовал изменять ширину и высоту контейнера, но он не работает .. и он в основном подавляет сам контейнер. С другой стороны, если я вручную использую d3.select (".nv-legendWrap"). Attr ("transform", "translate (x, y)"); чтобы переместить контейнер легенды, он тоже не работает, потому что по клику по клику он возвращается в свое обычное место вверху, когда контейнер контейнера подавляется с точки зрения его высоты.

Любая идея о том, где можно изменить в источнике nvd3 или какой-либо css-обманке? Благодарю.

ответ

3

NVD3 не имеет возможности повлиять на размещение легенды, поэтому вам придется либо сделать это вручную (как вы уже пробовали), либо изменить источник. Что именно вам нужно изменить в зависимости от графика, который вы используете, для line chart, например, положение задается в строке 160.

Конечно, Вы можете также изменить CSS для nv-legendWrap класса и дать ему фиксированный положение, например. Вам все равно придется вычислять точные значения позиции, чтобы поместить их туда, где вы хотите, но таким образом он останется на месте, даже когда график будет регенерирован.

+2

Другой вариант - создать легенду в HTML 5 и подключить ее к событиям диаграммы. Таким образом, у вас гораздо более жесткий контроль над стилем. – WolfgangCodes

Смежные вопросы