我尝试使用this widget来显示3组数据。第一组应显示为条形图,其余部分可在图表上显示为线条。
从我读过的内容来看,人力车图应该可以通过使用“多人”来实现这一目标。渲染器,但我无法使渲染工作。
这是我发送的ruby Array数据对象,其格式设置使其更具可读性:
iterationData:
[
{
:name=>"Delivered",
:renderer=>"bar",
:data=> [
{:x=>1, :y=>0},
{:x=>2, :y=>4},
{:x=>3, :y=>4},
{:x=>4, :y=>11}
]
},
{
:name=>"Estimated",
:renderer=>"line",
:data=> [
{:x=>1, :y=>2.7},
{:x=>2, :y=>5.4},
{:x=>3, :y=>8.10},
{:x=>4, :y=>10.8},
{:x=>5, :y=>13.5},
{:x=>6, :y=>16.2},
{:x=>7, :y=>18.9},
{:x=>8, :y=>21.59},
{:x=>9, :y=>24.29},
{:x=>10, :y=>26.99}
]
},
{
:name=>"Outlook",
:renderer=>"line",
:data=> [
{:x=>1, :y=>2.75},
{:x=>2, :y=>5.5},
{:x=>3, :y=>8.25},
{:x=>4, :y=>11.0},
{:x=>5, :y=>13.75},
{:x=>6, :y=>16.5},
{:x=>7, :y=>19.25},
{:x=>8, :y=>22.0},
{:x=>9, :y=>24.75},
{:x=>10, :y=>27.5}
]
}
]
这是我打电话来显示图表并将数据发送到图表:
ruby作业中的send_event:
send_event("#{projectID}-burnup-chart", {:series => iterationData})
dashboard.erb代码:
<div data-id="23405488441-burnup-chart" data-view="Rickshawgraph" style="background-color:#ff9618" data-legend=true data-unstack=true data-renderer="bar" data-color-scheme="compliment" data-max="40"></div>
这只显示一个橙色背景的空白小部件。图表根本没有呈现。任何人都可以建议我如何实现这一目标?或者是否有人使用不同的小部件来创建他们可能建议的工作燃尽图表like this?
答案 0 :(得分:0)
我相信你要做的事情是不可能的,因为这个小部件将参数从Dashing编组到人力车。
具体来说,这些复杂的代码行: https://gist.github.com/jwalton/6614023#file-rickshawgraph-coffee-L193-L253
我不确定如果你发送额外的数据,人力车是否会生气,但是小部件的作者似乎非常担心发送错误。基本上,你陷入这种情况: https://gist.github.com/jwalton/6614023#file-rickshawgraph-coffee-L237-L245
如果您向else if
添加了一行,则可以使其正常工作,如下所示:
else if series?.data?
# Rickshaw data. Need to clone, otherwise we could end up with multiple graphs sharing
# the same data, and Rickshaw really doesn't like that.
answer = {
renderer: series.renderer # add your renderer
name: series.name
data: series.data
color: series.color
stroke: series.stroke
}
或者更好的是,只需使用jQuery Extend制作新副本:
answer = $.extend(true, {}, series);
让我知道它是怎么回事,如果出现进一步的问题,我会更新我的答案。