D3 を使用してワード クラウドを作成しようとしています。これを行うために、Jason Davis のコードを変更しています: https://github.com/jasondavies/d3-cloud/blob/master/examples/simple.html
ワード配列を使用する代わりに、大量のテキストを含む .txt または .csv ファイルにリンクできるようにコードを変更したいと考えています。
d3.text() および d3.csv() メソッドを使用してみましたが、何か間違っています。どちらの方法も URL を呼び出すため、データ URL ジェネレーター ( http://dataurl.net/#dataurlmaker ) を使用してテキスト ファイルを URL に変換しました。次に、コードを変更し、次のように dataurl を挿入しました。
var fill = d3.scale.category20();
var text = d3.text(data:text/plain;base64,RGVsbCwgdGhl....continued....more...URLdata)
d3.layout.cloud().size([300, 300])
.words(text.map(function(d) {
return {text: d, size: 10 + Math.random() * 90};
}))
.rotate(function() { return ~~(Math.random() * 2) * 90; })
.font("Impact")
.fontSize(function(d) { return d.size; })
.on("end", draw)
.start();
私が試した2番目のオプションは、テキストをhtmlのスクリプトタグに挿入し、JSコードで次のように参照することでした:
<!DOCTYPE html>
<script src="../lib/d3/d3.js"></script>
<script id="text" type="text/plain">Dell, the company, has...more..text...</script>
<script src="../d3.layout.cloud.js"></script>
<body>
<script>
var fill = d3.scale.category20();
var text = d3.select("#text");
d3.layout.cloud().size([300, 300])
.words(text.map(function(d) {
return {text: d, size: 10 + Math.random() * 90};
}))
etc........
.txt または .csv ファイルを読み取る方法を教えてください。ありがとう!