首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我的圆圈不以“像素”单位显示?

为什么我的圆圈不以“像素”单位显示?
EN

Stack Overflow用户
提问于 2016-01-22 08:39:12
回答 1查看 33关注 0票数 0

我有一组圆定义为

代码语言:javascript
运行
复制
 nodes = [{
    x: xRange(xvalue),
    y: yRange(getY(xvalue)),
    ... 
}]

vis.selectAll(".nodes")
    .data(nodes)
 .enter().append("circle")
 .attr("class", "nodes")
 .attr("cx", function (d) {
    return d.x;
})
.attr("cy", function (d) {
    return d.y;
})
.attr("r", "7px")
.attr("fill", "black")
.attr("transform", function (p) {
    return "translate(" + p.x + "," + p.y + ")";
})

我试图保持点的坐标在“像素”单位,而不是“轴”单位。唯一的问题是,我的观点不会显示,除非他们是在“轴”单位,因为某些原因。下面是用来说明这一点的测试用例:

像素单位

轴心单位

在这两种情况下,我都在第一个象限中包含了一个测试点,它使用“像素”单位。为什么测试点可以使用像素,而其他测试点却不能使用像素?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-22 10:17:38

对于我的圈子,我用下面的语句

代码语言:javascript
运行
复制
.attr("transform", function (p) {
        return "translate(" + p.x + "," + p.y + ")";
    })

这很麻烦,因为它会导致基于轴单元的点的转换。通过将这个更改为

代码语言:javascript
运行
复制
.attr("transform", function (p) {
        return "translate(" + xRange.invert(p.x) + "," + yRange.invert(p.y) + ")";
    })

翻译将正确地采用像素单元并绘制它们。

证明

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34942273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档