Amcharts 趋势线堆栈落后
Amcharts Trendline stack behind
我在 amstockcharts 中使用趋势线。它们很好,只是它们总是堆叠在其他图表之上。是否可以将其设置为堆叠在后面?
在 SVG 中,没有像 HTML 中那样的 z-Index。最后附加的元素绘制在其他元素之上。因此,虽然没有 AmCharts 功能支持您的请求,但您可以手动重绘所有图表,以便它们再次位于趋势线之上。
为此,请使用“appendChild()' to reappend the element to the SVG.
Now do this everytime the chart is drawn. For this we need an Event Listener for 'drawn' (called when resizing the chart) and one for 'zoomed”(我认为很明显)。
这是生成的代码:
chart.addListener("zoomed", drawGraphsOnTop);
chart.addListener("drawn", drawGraphsOnTop);
function drawGraphsOnTop() {
for (var i = 0; i < chart.graphs.length; i++) {
chart.graphs[i].set.D.container.appendChild(chart.graphs[i].set.node);
}
}
我也为此准备了fiddle
编辑:
我找到了一个更好的方法来做到这一点。 (已更新 fiddle)
function drawGraphsOnTop() {
chart.graphsSet.toFront();
}
(实际上你也可以做 chart.trendlinesSet.toBack()
这更适合你的问题,但趋势线甚至落后于网格)
解释:
该图表由多个 "sets" 组成。每种类型的组件都有一个集合(例如 GraphsSet、AxesSet、CursorSet 等),每个单独的组件都有自己的集合(例如 graph.set)。
您可以调用 .toFront()
或 .toBack()
每个人改变他们的层。请注意,对于单个集,这只会更改 类型集内的图层。 (这意味着您例如将一个图表设置在所有其他图表之上,而不是在所有其他图表元素之上,为此您必须移动整个图表集)
我在 amstockcharts 中使用趋势线。它们很好,只是它们总是堆叠在其他图表之上。是否可以将其设置为堆叠在后面?
在 SVG 中,没有像 HTML 中那样的 z-Index。最后附加的元素绘制在其他元素之上。因此,虽然没有 AmCharts 功能支持您的请求,但您可以手动重绘所有图表,以便它们再次位于趋势线之上。
为此,请使用“appendChild()' to reappend the element to the SVG.
Now do this everytime the chart is drawn. For this we need an Event Listener for 'drawn' (called when resizing the chart) and one for 'zoomed”(我认为很明显)。
这是生成的代码:
chart.addListener("zoomed", drawGraphsOnTop);
chart.addListener("drawn", drawGraphsOnTop);
function drawGraphsOnTop() {
for (var i = 0; i < chart.graphs.length; i++) {
chart.graphs[i].set.D.container.appendChild(chart.graphs[i].set.node);
}
}
我也为此准备了fiddle
编辑:
我找到了一个更好的方法来做到这一点。 (已更新 fiddle)
function drawGraphsOnTop() {
chart.graphsSet.toFront();
}
(实际上你也可以做 chart.trendlinesSet.toBack()
这更适合你的问题,但趋势线甚至落后于网格)
解释:
该图表由多个 "sets" 组成。每种类型的组件都有一个集合(例如 GraphsSet、AxesSet、CursorSet 等),每个单独的组件都有自己的集合(例如 graph.set)。
您可以调用 .toFront()
或 .toBack()
每个人改变他们的层。请注意,对于单个集,这只会更改 类型集内的图层。 (这意味着您例如将一个图表设置在所有其他图表之上,而不是在所有其他图表元素之上,为此您必须移动整个图表集)