我正在尝试获取一维画笔的选择值,但在理解d3.brushSelection()的参数时遇到了麻烦。我看到文档中说该参数应该是一个节点,但是我不确切知道它的含义。它应该是调用画笔的特定HTML元素,还是保存画笔的svg元素?我都尝试过,并且都返回null。
var xBrush = d3.brushX()
.extent([[0,0], [xWidth,xHeight]])
.on("brush", brushed);
xChart.append("g")
.attr("class", "brush")
.call(xBrush);
Run Code Online (Sandbox Code Playgroud)
如果这是我创建画笔的方式,那么如何获得选择的值?谢谢。
我无法理解 D3 4.0 上的画笔/范围如何工作。我希望创建一个可以沿着 svg 元素的 Y 轴拖动的画笔,并且我希望在页面加载时已经创建了画笔,我不希望用户必须沿着 g 元素拖动来创建它。(例如,此示例有一个在页面加载http://bl.ocks.org/raffazizzi/3691274 时创建的画笔)。
这是我到目前为止:
var verticalRectangle = d3.select(".svgrectangle")
.attr("width", 100)
.attr("height", 500)
.append("g")
var yBrush = d3.brushY()
verticalRectangle.append("g")
.attr("class", "brush")
.call(yBrush);
Run Code Online (Sandbox Code Playgroud)
现在这会创建一个矩形,我可以通过在其中拖动来创建画笔,我希望在加载时已经在矩形上创建画笔(在矩形的底部,宽度为 100,高度为 10)。我相信 Brush.extent() 可以用于此,但我不确定在这种情况下正确的论点是什么。许多示例使用 D3 3.0 并使用带刻度的画笔,我认为 4.0 中不再需要这些。谢谢您的帮助。
我正在尝试从 Javascript 前端获取 UTC 时间到 Java 后端。我想通过使用Date.toISOString()该对象并将其发送到 Java 后端来完成此任务。然而,我注意到的一个问题是,toISOString()以格式返回时间戳YYYY-MM-DDTHH:mm:ss.sssZ,并且该格式与任何 Java 8 预定义的LocalDateTime格式化程序都不匹配。
我的问题是,是否有最佳实践来完成我想做的事情?我知道我可以编写一个自定义 Java 格式化程序来匹配 Javascript 输出。但是,我想知道是否有一种标准方法可以完成此任务,因为这似乎是一个非常常见的情况。