将水平线添加到 d3 图形以错误的值显示
Adding a horizontal line to d3 graph displays at the wrong value
我正在尝试在我的图形中添加一条水平线,相对于 y 轴值,问题是它们出现在错误的位置。
这 2 条线应相对于 y 轴值显示在值 90 和 140 处。
我用来添加该行的代码如下:
if (before_meal !== null || after_meal !== null) {
svg.append("svg:line")
.attr("x1", 0)
.attr("x2", width)
.attr("y1", before_meal)
.attr("y2", before_meal)
.style("stroke", "rgb(189, 189, 189)");
svg.append("svg:line")
.attr("x1", 0)
.attr("x2", width)
.attr("y1", after_meal)
.attr("y2", after_meal)
.style("stroke", "rgb(189, 189, 189)");
}
请在此处查看我的工作示例:JSFiddle
在你的代码中,你有这个:
var y = d3.scale.linear()
.range([height, 0]);
这将返回一个函数y
该函数将像素空间映射到绘图坐标空间。
因此,当您这样做时:
.attr("y1", before_meal)
您告诉 d3 在 90 "像素"处放一条线。 而是使用:
.attr("y1", y(before_meal))
它告诉 d3 将 90 y 轴单位转换为适当的像素。
更新的小提琴。
相关文章:
- jquery表单验证复选框错误显示
- 为什么Inspect元素中的错误显示函数myNUM()没有定义?如何定义函数
- 禁用文本框的脚本错误显示
- 为什么错误显示为函数体之前缺少{
- Firefox SDK:包括jquery.flot在内的问题,错误显示维度高度为空
- 版边上出现错误“显示临时标题”
- 自定义错误显示在自定义位置,而不是每个元素旁边
- JavaScript错误显示在浏览器中
- jQuery tonum 是刨丝器,然后如果错误显示错误,则从没有
- 根据发现的错误显示不同的引导程序警报消息
- Javascript代码错误显示未定义的值
- 将输入字段值传入angularjs $resource undefined,错误显示未知的作用域提供商
- JavaScript错误显示在Joomla1.5页面
- 使用ruby生成节点并使用javascript错误显示它们
- d3js:条形图是不可见的,没有错误显示
- 与一些javascript,密码/用户名错误显示
- JavaScript错误显示表
- Javascript(与相位器)错误显示游戏的颜色-括号
- Jquery表单验证错误显示Div
- Php错误显示,而访问输入类型=文件使用jquery/ajax方法