gpt4 book ai didi

javascript - 带有 backbone.js 的 D3-cloud

转载 作者:行者123 更新时间:2023-11-30 06:29:35 25 4
gpt4 key购买 nike

我打算使用d3-cloud生成词云,尝试如下使用在具有主干 View 的 Rails 应用程序中。我是 d3 和 backbone 的初学者,如果问题很愚蠢,请原谅。

来自 https://github.com/jasondavies/d3-cloud/blob/master/examples/simple.html

我一直收到这个错误未捕获的类型错误:对象渲染没有方法“应用”

我的 Api 返回结果如下。

[{"text":"Timmy Doe","size":100},{"text":"John Doe","size":50}]

class Mongoauth.Views.TagCloud extends Backbone.View
id = 0
defaults: {
w: 1,
h: 5
}
initialize:->
_.bindAll(this,"render");
@collection.bind("reset",this.render);
@collection.bind("change", this.render);
this.chart = d3.layout.cloud().size([300, 300]).words(@collection.models).padding(5).rotate(->
~~(Math.random() * 2) * 90
).font("Impact").fontSize((d) ->
d.size
).on("end", "render").start()
# this.chart = d3.select(this.el).append('svg').attr("width", 300)
# .attr("height", 200)
# .attr("viewBox","0 0 100 100");
console.log(@collection)

render: ->
d3.select(this.el).append("svg").attr("width", 300).attr("height", 300).append("g").attr("transform", "translate(150,150)").selectAll("text").data(this.collection.models).enter().append("text").style("font-size", (d) ->
d.size + "px"
).style("font-family", "Impact").style("fill", (d, i) ->
d3.scale.category20() i
).attr("text-anchor", "middle").attr("transform", (d) ->
"translate(" + [d.x, d.y] + ")rotate(" + d.rotate + ")"
).text (d) ->
d.text
this

最佳答案

您在行 .on("end", "render").start() 上传入一个字符串作为事件监听器。它需要是一个函数引用(例如this.render)。

关于javascript - 带有 backbone.js 的 D3-cloud,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18669559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com