如何从文本体创建单词云?(JavaScript)
我正在尝试创建一个单词云,它将在用户输入后生成 大多数与word云相关的项目似乎都与D3js相关(尤其是此回购协议) 而我可以使用下面的方法让单词cloud发挥作用如何从文本体创建单词云?(JavaScript),javascript,jquery,html,d3.js,Javascript,Jquery,Html,D3.js,我正在尝试创建一个单词云,它将在用户输入后生成 大多数与word云相关的项目似乎都与D3js相关(尤其是此回购协议) 而我可以使用下面的方法让单词cloud发挥作用 <div id="chart"></div> <script> var text_string = "blah"; drawWordCloud(text_string); function drawWordCloud(text_string){ var stopWords
<div id="chart"></div>
<script>
var text_string = "blah";
drawWordCloud(text_string);
function drawWordCloud(text_string){
var stopWords = ["blah blah blah"];
var word_count = {};
var words = ...
}
var svg_location = "#chart";
var width = $(document).width();
var height = $(document).height();
var fill = d3.scale.category20();
var word_entries = d3.entries(word_count);
var xScale = ...;
d3.layout.cloud().size([width, height])
....;
function draw(words) {
...
d3.layout.cloud().stop();
}
</script>
var text_string=“blah”;
drawWordCloud(文本\字符串);
函数drawWordCloud(文本\字符串){
var stopWords=[“诸如此类”];
var word_count={};
变量字=。。。
}
var svg_location=“#图表”;
var width=$(文档).width();
var height=$(document.height();
var fill=d3.scale.category20();
var word_entries=d3.条目(word_计数);
var xScale=。。。;
d3.layout.cloud().size([宽度,高度])
....;
函数图(字){
...
d3.layout.cloud().stop();
}
我仍然面临两个问题:
时,它才起作用,这是我最初不想做的(当用户输入输入内容,JS通过addHTML+='…'
运行时,会添加额外的HTML,这是我想对wordcloud做的事情,以便生成它(基于用户的输入)并且只在用户输入并单击按钮后显示,就像文档的其余部分一样1您可能在#图表存在之前在头部加载单独的js,因此没有地方绘制它。您可以通过将
drawWorldCloud
放在$(function(){});
(jquery文档就绪)中来解决此问题.2在尝试将图表绘制到图表后,您可能正在添加该图表。在您的addHTML+=
呈现div之后调用drawWorldClount.@freedomn-m所以函数drawWordCloud(text_string){…}
应该变成$(function(drawWordCloud)(text_string){})
?另外,你说的“jquery文档准备就绪”是什么意思?(抱歉,我才刚开始学习jquery)。明白了,谢谢。很遗憾,它仍然没有工作。它应该变成:$(function(){drawWordCloud(“blah”);;;