我正在使用此multi-graph Dashing widget。它工作正常,但它只使用两个数据系列,我想再添加一个。我已将.coffee文件修改为
class Dashing.Mgraph extends Dashing.Widget
@accessor 'current', ->
return @get('displayedValue') if @get('displayedValue')
points = @get('points')
if points
points[0][points[0].length - 1].y + ' / ' + points[1][points[1].length - 1].y ' / ' + points[2][points[2].length - 1].y
ready: ->
container = $(@node).parent()
# Gross hacks. Let's fix this.
width = (Dashing.widget_base_dimensions[0] * container.data("sizex")) + Dashing.widget_margins[0] * 2 * (container.data("sizex") - 1)
height = (Dashing.widget_base_dimensions[1] * container.data("sizey"))
@graph = new Rickshaw.Graph(
element: @node
width: width
height: height
renderer: 'area'
stroke: false
series: [
{
color: "#fff",
data: [{x:0, y:0}]
},
{
color: "#222",
data: [{x:0, y:0}]
},
{
color: "#333",
data: [{x:0, y:0}]
}
]
)
@graph.series[0].data = @get('points') if @get('points')
x_axis = new Rickshaw.Graph.Axis.Time(graph: @graph)
y_axis = new Rickshaw.Graph.Axis.Y(graph: @graph, tickFormat: Rickshaw.Fixtures.Number.formatKMBT)
@graph.renderer.unstack = true
@graph.render()
onData: (data) ->
if @graph
@graph.series[0].data = data.points[0]
@graph.series[1].data = data.points[1]
@graph.series[2].data = data.points[2]
@graph.render()
然而,当我运行破折号时,它没有显示任何内容(甚至不是我的其他小部件)。它只是一个空白屏幕。谁能告诉我这里发生了什么?
编辑:
我已经更多地解决了这个问题。看起来一切正常,直到我在series:
中添加第三个数据系列似乎这导致它无法工作。
答案 0 :(得分:2)
在这里,尝试使用rickshawgraph widget https://gist.github.com/jwalton/6614023
这是我的.rb
points1 = []
points2 = []
points3 = []
(1..10).each do |i|
points1 << { x: i, y: 10 }
points2 << { x: i, y: 10 }
points3 << { x: i, y: 10 }
end
last_x = points1.last[:x]
SCHEDULER.every '2s' do
points1.shift
points2.shift
points3.shift
last_x += 1
points1 << { x: last_x, y: rand(50) }
points2 << { x: last_x, y: rand(10) }
points3 << { x: last_x, y: rand(100) }
series = [
{
name: "set1",
data: points1
},
{
name: "set2",
data: points2
},
{
name: "set3",
data: points3
}
]
send_event('convergence', series: series)
end
这是我的.erb
% content_for :title do %>My super sweet dashboard<% end %>
<div class="gridster">
<ul>
<li data-row="1" data-col="1" data-sizex="2" data-sizey="1">
<div data-id="convergence" data-view="Rickshawgraph" data-title="Convergence" data-unstack="true" data-stroke="true" data-default-alpha="0.5" data-color-scheme="compliment" data-legend="true" data-summary-method="last"></div>
</li>
</ul>
</div>