Javascript 在d3.js中聚集气泡

Javascript 在d3.js中聚集气泡,javascript,d3.js,Javascript,D3.js,我一直在尝试用谷歌分析的一些信息做一个小部件。我得到了实时访客,然后在d3.js的帮助下用旗帜将他们显示在气泡中。我确实设法让它们出现在屏幕上,而且力模拟工作正常。然而,我似乎无法理解如何根据它们各自的国家对泡沫进行聚类,因为我不知道哪些国家将提前显示,而且我不擅长网络编程,因此也不擅长动态链接和使用forceLink。也许有更好的方法让我错过了?如果您能给我一些建议,我将不胜感激 (函数(){ var宽度=500; 高度=500; var svg=d3。选择(“图表”) .append(“s

我一直在尝试用谷歌分析的一些信息做一个小部件。我得到了实时访客,然后在d3.js的帮助下用旗帜将他们显示在气泡中。我确实设法让它们出现在屏幕上,而且力模拟工作正常。然而,我似乎无法理解如何根据它们各自的国家对泡沫进行聚类,因为我不知道哪些国家将提前显示,而且我不擅长网络编程,因此也不擅长动态链接和使用forceLink。也许有更好的方法让我错过了?如果您能给我一些建议,我将不胜感激

(函数(){
var宽度=500;
高度=500;
var svg=d3。选择(“图表”)
.append(“svg”)
.attr(“高度”,高度)
.attr(“宽度”,宽度)
.附加(“g”)
.attr(“转换”、“转换(0,0)”)
//因此,问题准备:
var data_csv=“国家,计数\n数字,1\n标记,1\n标记,1”;
数据=d3.csvParse(数据+csv);
d3.queue().await(就绪,数据);
变量forceX=d3.forceX(函数(d){
返回宽度/2
}).强度(0.05)
变量力=d3.力(函数d){
返回高度/2
}).强度(0.05)
var simulation=d3.forceSimulation()
.力(“X向中心”,力X)
.force(“向中心移动”,forceY)
.力(“防碰撞”,d3.力碰撞(功能(d){
返回半径刻度(d.Count)+1;
}))
.力量(“冲锋”,d3.力量人体().力量(-15))
//此函数用于设置变化比例,以便圆可以具有不同的大小,而无需
//占据了整个屏幕
var radiusScale=d3.scaleSqrt().domain([1,40]).range([30,130]);
功能就绪(错误,数据点){
var circles=svg.selectAll(“.Country”)
.数据(数据点)
.enter().append(“圆”)
.attr(“id”,函数(d){
返回d.国家;
})
.attr(“类别”、“国家”)
.attr(“r”,函数(d){
返回半径刻度(d.计数);
})
.attr(“文本”,函数(d){
返回d.计数;
})
.style(“笔划”、“黑色”)
.style(“填充”、“蓝色”)
模拟.节点(数据点)
.on('勾选',勾选)
函数勾选(){
圈子
.attr(“cx”,功能(d){
返回d.x
})
.attr(“cy”,函数(d){
返回d.y
})
}
})();

尼茨来访者
尼茨来访者

首先运行您的代码段。实际上,我不知道如何将html指向代码段中的javascript代码段。我也不知道如何指向其中的.csv文件…我应该使用在线驱动器并将脚本指向那里吗?抱歉,第一次发布…请使用d3.csvParse将csv内容硬包含在您的代码中,并使用模板文本,或者向CSV加载程序提供完整的URL。您还必须找到一种方法来提供
标志/xxxx.svg
文件或替换为颜色模式。javascript部分隐式包含在正在运行的
iframe
中。我已将id=chart的div标记添加到html中