NVD3线图中的可变行程宽度

时间:2013-02-13 23:06:36

标签: d3.js nvd3.js

我想弄清楚是否有一种相当简单的方法来扩展NVD3的lineChart模型,以允许沿图表中每条线路的可变笔画宽度。

具体来说,我正在处理一个简单的折线图,其中我需要显示不同行业(NVD3的lineChart完美工作)的就业同比增长,同时还要了解这些行业的相对权重部门(即农业可能在增长,而整体雇用只有几百人,而零售可能正在挣扎但仍然占据了大部分人口) - 当然这不是一个线性规模,而是假设相对权重每个部门随着时间的推移而变化,较粗的线可能代表一个拥有更多员工的部门而不是一个细线的部门。

显然我可以很容易地改变整条线的笔划宽度,即整个时间跨度内每个扇区的平均权重,但据我所知,SVG无法指定单个路径的变化宽度element:创建一个建立在lineChart之上的NVD3模型是否有意义,但是每个年同期将每一行分成不连续的多边形(三角形?)?

2 个答案:

答案 0 :(得分:1)

自己寻找答案。似乎没有简单的方法,但有一种可能性是使用stroke-dasharray属性。 http://owl3d.com/svg/vsw/articles/vsw_article.html

基本上,您可以创建一系列克隆路径,覆盖一系列笔触宽度。如果将它们变为短划线阵列,则可以使用短划线之间的间距来控制每个点处可见的路径。

根据您要寻找的形状和宽度,您也可以通过添加第二个路径元素来捏造它,该路径元素与第一个路径元素的偏移量不同。

答案 1 :(得分:0)

也许生成一个封闭的路径并在该路径上应用pattern填充或常规填充。闭合路径实际上是一个三角形,以模仿不同宽度的线。

相关问题