2013-02-13 2 views
2

Я пытаюсь выяснить, есть ли достаточно простой способ расширить модель линейки LineChart от NVD3, чтобы позволить переменную ширину штриха вдоль каждого пути линии в диаграмме.переменная ширина хода в NVD3 lineChart

В частности, я имею дело с простой линейной диаграммой, в которой мне нужно показать рост занятости в разных секторах (для чего отлично работает линия lineChart от NVD3), а также дает представление об относительном весе эти сектора (например, сельское хозяйство может расти при одновременном использовании всего нескольких сотен человек, в то время как розничная торговля может быть изощренной, но по-прежнему использует значительную долю населения) - это, конечно, не будет линейным масштабом, но при условии, что относительный вес каждого сектора меняется во времени, более толстая линия может представлять сектор с большим количеством сотрудников, чем один с тонкой линией.

Очевидно, что я мог бы очень легко изменить ширину штриха для всей строки, т. Е. Средний вес каждого сектора в течение всего промежутка времени, но насколько я понимаю, в SVG нет способа указать переменную ширину одного элемент пути: имеет ли смысл создавать модель NVD3, которая строится на вершине lineChart, но разбивает каждую строку на дискретные полигоны (треугольники?) для каждого года в год?

ответ

1

Ищете ответ на это самостоятельно. Кажется, что нет простого способа, но одна из возможностей - использовать атрибут stroke-dasharray. http://owl3d.com/svg/vsw/articles/vsw_article.html

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

В зависимости от формы и ширины, которую вы ищите, вы также можете выманить ее, добавив второй элемент пути с переменным смещением от первого.

+0

Почему вы говорите, что он не отвечает на вопрос? Сообщение, на которое он ссылается, является методом решения этой точной проблемы. – mgalka

+0

Я, вероятно, нажал неправильную кнопку, когда ваш ответ был в очереди просмотра. Я, вероятно, хотел нажать что-то вроде «Пока ссылка может дать правильный ответ, лучше всего объяснить ответ, а не просто ссылаться на него, в случае, если ссылка умирает». – m69

0

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

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