我正在敲打头来解决这个问题,甚至无法前进一步,问题是:
考虑以下C程序:
int X[N];
int i;
int step = M; // M is some predefined constant
for (i = 0; i < N; i += step) X[i] = X[i] + 1;
Run Code Online (Sandbox Code Playgroud)
如果此程序在具有4 KB页面大小和64项TLB的计算机上运行,那么M和N的哪些值将导致每次执行内循环时TLB未命中?
任何人都可以给我一些提示我该如何解决?
使用d3中的force布局,我可以愉快地添加节点,例如,一个圆圈的SVG组和一些文本:
var node = vis.selectAll(".node")
.data(nodes)
.enter().append("svg:g")
.attr("class", "node");
node.append("svg:circle")
.attr("r", 5);
node.append("svg:text")
.text(function(d) { return d.nodetext });
Run Code Online (Sandbox Code Playgroud)
但是,我想根据节点数据选择向组中添加另一个元素:因此,如果此节点的数据包含"image"属性,我想添加一个新的子元素(svg:image) ).将svg:image添加到所有节点很容易(我只是这样做,因为我已经完成了上面的圆圈和文本).动态更改已创建元素的属性也很容易(通过将函数作为属性的值,text如上所述).我不知道如果数据包含属性,如何添加svg:image子元素.实现这一目标的最佳方法是什么?image
我正在寻找一个关于如何为饼图调整大小(弧的路径)进行转换的示例.我一直在看这个例子,但我仍然不知道如何修改它以在调整大小上进行转换.到目前为止,我可以通过更改arc对象的outerRadius(和innerRadius)来调整饼图的大小,但是转换没有运气.这是我正在研究的例子.
arc.innerRadius(newInnerRad)
.outerRadius(newOuterRad);
path.transition().duration(500).attrTween("d", arcTween);
function arcTween(a) {
var i = d3.interpolate(this._current, a);
this._current = i(0);
return function(t) {
return arc(i(t));
};
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
以下是 d3js 中的包布局示例:
是否可以控制各个圆圈的颜色?
这是带有颜色的包布局的另一个示例:

您能帮我了解如何将颜色分配给第二张图表中的气泡吗?
我在d3中进行了大量搜索以获取可视化效果。我能够可视化数据库中的数据。现在,我想改变不同d3节点之间的距离。有一个函数force.linkdistance()用于指定节点之间的距离。目前,我要提供100的恒定距离。我想根据数据库中的列来更改每个链接的距离。这是一个数字列。我也附上我的代码。请帮助,如果可以的话。
var okCounter=0;
var width = 960,
height = 500;
console.log("still ok here:",okCounter++);
var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height);
console.log("still ok here:",okCounter++);
var force = d3.layout.force()
.gravity(.05)
.distance(100)
.charge(-100)
.size([width, height]);
console.log("still ok here:",okCounter++);
d3.json("getdata.php", function(error,json) {
force
.nodes(json.nodes)
.links(json.links)
.start();
console.log("still ok here:",okCounter++);
var link = svg.selectAll(".link")
.data(json.links)
.enter().append("path")
.attr("class", "link");
console.log("still ok here:",okCounter++);
var node = svg.selectAll(".node")
.data(json.nodes)
.enter().append("g")
.attr("class", "node")
// .call(force.drag);
console.log("still ok here:",okCounter++);
node.append("image")
.attr("xlink:href", "http://www.clker.com/cliparts/5/6/3 /a/1194984675331456830utente_singolo_architett_01.svg.med.png")
.attr("x", -8)
.attr("y", -8)
.attr("width", 24) …Run Code Online (Sandbox Code Playgroud) 我已经开始使用d3.js库来制作强制有向图.有人可以告诉我为什么这个代码也在这个网站上提到不起作用?
的index.html
.node {
stroke: #fff;
stroke-width: 1.5px;
}
.link {
stroke: #999;
stroke-opacity: .6;
}
</style>
<body>
<script src="http://d3js.org/d3.v3.min.js"></script>
<script>
var width = 960,
height = 500;
var color = d3.scale.category20();
var force = d3.layout.force()
.charge(-120)
.linkDistance(30)
.size([width, height]);
var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height);
d3.json("miserables.json", function(error, graph) {
force
.nodes(graph.nodes)
.links(graph.links)
.start();
var link = svg.selectAll(".link")
.data(graph.links)
.enter().append("line")
.attr("class", "link")
.style("stroke-width", function(d) { return Math.sqrt(d.value); });
var node = svg.selectAll(".node")
.data(graph.nodes)
.enter().append("circle")
.attr("class", "node") …Run Code Online (Sandbox Code Playgroud) 我有一个饼图,我正在尝试转换标签的旋转.出于某种原因,当我添加时transition,文本被删除.我创造了一个问题的小提琴:
http://jsfiddle.net/samselikoff/k69We/
图表呈现但没有标签.在第110行,取消注释该setTimeout功能.一秒钟后,转换将正常工作.
为什么没有setTimeout的转换会破坏标签值?
早上好,
刚刚从令人敬畏的d3js库开始......
我想只显示一个带有力导向布局的图形的一部分.这个想法是将一个节点声明为"中心",并显示距离该中心节点两个(例如)距离的所有节点,中心节点的邻居和邻居的邻居.如果用户点击其中一个显示的节点,它将成为"新"中心节点,并显示不同的"子图".我想知道是否有一个关于实现这种子图布局的例子,以及是否已经在d3js中实现了某种"节点距离"算法.
非常感谢
马丁
更新:刚刚找到了修改强制布局的示例,该示例说明了如何从强制定向布局添加和删除节点和边.
我正在尝试使用Vincent创建一个多线图.
我有一个csv文件,具有以下布局:
,wk1,wk2,wk3,wk4,wk5,wk6,wk7,wk8,wk9
Tom J,97,65,82,65,101,84,79,71,83
Lisa R,95,87,95,65,61,78,93,95,56
Rich F,51,111,50,119,84,77,73,84,60
Anne E,63,68,89,70,95,80,56,75,82
Dan M,83,95,36,115,79,79,65,55,69
Mack W,67,89,72,79,47,64,113,94,33
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
import pandas as pd
import vincent
df = pd.read_csv('weekscores.csv', index_col=0)
lines = vincent.Line(df)
lines.axis_titles(x='WEEKS', y='SCORE')
lines.legend(title='Player')
lines.to_json('line.html',html_out=True,html_path='line_template.html')
Run Code Online (Sandbox Code Playgroud)
这会运行并生成图表,但图表中不显示任何行:

使用.grammar()检查数据我看到每周的得分都是这样的:
{'val': 97, 'col': 'wk1', 'idx': 'Tom J'}
Run Code Online (Sandbox Code Playgroud)
任何协助获得此渲染表示赞赏.
我是d3.js的新手和编码.这是我的问题:
我试图找到一种方法来打破行中强制布局对象的长显示名称.
我希望能够确定在哪里打破这些行,我猜这是可以从json文件中完成的事情.
我知道已经有类似的问题已经提出,但我找不到放置代码的位置或为什么我以前的尝试没有成功.这是我的代码:
var width = 960,
height = 800,
root;
var force = d3.layout.force()
.linkDistance(120)
.charge(-600)
.gravity(.06)
.size([width, height])
.on("tick", tick);
var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height);
var link = svg.selectAll(".link"),
node = svg.selectAll(".node");
d3.json("graph.json", function(error, json) {
root = json;
update();
});
function update() {
var nodes = flatten(root),
links = d3.layout.tree().links(nodes);
// Restart the force layout.
force
.nodes(nodes)
.links(links)
.start();
// Update links.
link = link.data(links, function(d) { return d.target.id; });
link.exit().remove();
link.enter().insert("line", ".node") …Run Code Online (Sandbox Code Playgroud) d3.js ×8
javascript ×7
force-layout ×5
label ×2
svg ×2
transition ×2
c ×1
caching ×1
circle-pack ×1
colors ×1
graph ×1
json ×1
pandas ×1
pie-chart ×1
python ×1
tlb ×1
vega ×1
vincent ×1