我正在使用Segment Plot在图表上显示多条线。我怎样才能让这些线的末端有箭头?
2 回答
2
你可以通过一些 SVG + DOM hacking 来做到这一点。您可以定义一个“标记元素”,它可以放置在一行的开头、中间或结尾(有关标记的详细信息,请参见http://tutorials.jenkov.com/svg/marker-element.html)。
这意味着操纵 Plottable 生成的 SVG。要获取底层 DOM 元素,您需要掌握代表每一行的 d3“选择”。
<svg>向要渲染绘图的元素添加标记定义。我很确定 plottable 不会覆盖内部已经存在的实体,但如果是这样,您始终可以在渲染绘图后添加它。- 使用 Segment#entities 从图中获取所有“PlotEntity”对象(http://plottablejs.org/docs/classes/plottable.plots.segment.html#entities)。
- 使用 PlotEntity#selection 属性 ( http://plottablejs.org/docs/interfaces/plottable.plots.plotentity.html#selection ) 获取代表每个段的 DOM 元素集。
- “选择”界面只是一个 d3 选择(https://github.com/mbostock/d3/wiki/Selections)。然后,您可以为每个元素添加适当的“marker-end”属性,这应该会为您提供所需的箭头。
于 2016-03-29T17:30:40.527 回答