- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我尝试更改此 stackoverflow 主题 d3: svg image in zoom circle packing 提供的代码
我尝试添加适合 3 级圆圈的圆形图像,而不是提供的图像。
但图像直径似乎总是比标杆小两倍。为了说明,这里是 fiddle https://jsfiddle.net/5qmmL8jo/
我知道解决方案位于 ZoomTo 函数底部的某个位置,但我不明白如何更改它。你能帮忙吗?
function zoomTo(v) {
var k = diameter / v[2];
view = v;
node.attr("transform", function(d) {
return "translate(" + (d.x - v[0]) * k + "," + (d.y - v[1]) * k + ")";
});
circle.attr("r", function(d) {
return d.r * k;
});
image
.attr("transform", function(d) {
console.log(d.r);
return "translate(" + (((d.x - v[0]) * (k)) - ((d.r / 2) * k)) + "," + (((d.y - v[1]) * (k)) - ((d.r / 2) * k)) + ")";
})
.attr("width", function(d) {
return d.r * k;
})
.attr("height", function(d) {
return d.r * k;
})
}
最佳答案
您非常接近,发现问题出在 ZoomTo 函数中。
所以首先改变,而不是这样:
.attr("width", function(d) { return d.r * k; })
.attr("height", function(d) { return d.r * k; })
应该是
.attr("width", function(d) { return d.r * k*2; }) //width should be double of the radius
.attr("height", function(d) { return d.r * k*2 }) //height should be double of the radius.
在变换中
.attr("transform", function(d) {
return "translate(" + (((d.x - v[0]) * (k)) - ((d.r / 2) * k)) + "," + (((d.y - v[1]) * (k)) - ((d.r / 2) * k)) + ")";
})
应该是(坦白说,我不明白为什么你做了 d.r/2,圆半径的一半)。
.attr("transform", function(d) {
console.log(d.r);
return "translate(" + (((d.x - v[0]) * (k)) - ((d.r) * k)) + "," + (((d.y - v[1]) * (k)) - ((d.r) * k)) + ")";
})
工作代码here
关于javascript - d3 : svg image in zoom circle packing bis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42405427/
我经常看到“bis”附加到协议(protocol)版本(例如 v.34bis 或 httpbis)。 “bis”是什么意思或代表什么? 我认识的一位电信工程师认为它可能起源于法国。 最佳答案 正如其他
我有一个带有 BufferedInputStream 和 BufferedOutputStream 的上传,现在我想获得此上传的百分比进度。 如何获得这个? BufferedInputStr
一位顾问在 3 小时的讨论中告诉我,基本上是黑莓第 3 方应用程序(是否通过 AppWorld 分发)不能在不成为联盟成员的情况下执行北美以外的任何网络 I/O。这是真的? 基本上,只有北美可以使用
我希望有人知道您是否可以在没有手持设备的情况下通过 BIS 使用 RIMM 的推送服务。我已经注册了推送评估,并且想要编写一个推送服务器来向 BB 客户端发送通知。我今天早上收到的电子邮件包含: Se
任何人都可以为我解释一下这些操作系统中 Push 功能的区别吗?我真的很好奇它们是如何工作的,以及它们与其他人的工作方式有何不同。据我所知,android通过保持端口始终打开来应用Push功能。其他操
我正在尝试为 OS < 7.X 使用推送通知。 我下载了示例服务器/客户端代码。我在我的设备上部署了客户端代码,并在提供的 tomcat 上部署了低级示例代码。 作为记录,当我在这里注册推送通知时,我
引用this question ,它确实具有相同的标题,但我在标准中找到了答案。我继续深入研究这个主题,并最终找到了一个示例代码,该答案不适用。 让我们考虑这段代码: template void fu
要在黑莓中使用 BIS 连接,开发者需要注册 BB 联盟计划。然而site不再提供给新成员。 现在在黑莓上使用 BIS 连接的“官方”方式是什么?使用 mds-public 作为 key 对我有用,但
我尝试更改此 stackoverflow 主题 d3: svg image in zoom circle packing 提供的代码 我尝试添加适合 3 级圆圈的圆形图像,而不是提供的图像。 但图像直
我是一名优秀的程序员,十分优秀!