2013-11-02 72 views
1

我有一个包含四个数据点的条形图。我正在尝试添加一行来表示酒吧的平均值。当我将该行添加为chartseries时,它添加了该行,但它也是第五个栏。如何在ColdFusion中将条线添加到条形图?

如何获得一条红线来表示平均值?

<cfchart format="png" scalefrom="0" scaleto="5000"> 
<!--- four blue bars ---> 
<cfchartseries 
    type="bar" 
    serieslabel="Website Traffic 2006" 
    seriescolor="blue"> 
<cfchartdata item="January" value="1000"> 
<cfchartdata item="February" value="2000"> 
<cfchartdata item="March" value="3000"> 
<cfchartdata item="April" value="4000"> 
</cfchartseries> 
<!--- one red line ---> 
<cfchartseries 
    type="line"  
    seriesColor="red" 
    paintStyle="plain" 
    seriesLabel="Contract Salaries"> 
<cfchartdata item="average" value="2500"> 
</cfchartseries></cfchart> 
+1

要创建一条线,我认为你需要相同数量的元素。尝试添加相同的四个元素(即1月,2月,...),但都具有'value =“2500”'。仅供参考,您还可以[应用背景范围](http://stackoverflow.com/questions/9813386/add-a-target-line-to-a-coldfusion-8-cfchart-bar-graph/9814127#9814127)而不是一条线。 – Leigh

+0

如果你正在使用CF10,不要使用'cfchart',使用原生ZingChart库 - http://www.zingchart.com/,它本身比使用'cfcahrt'更容易使用lib。他们有一个很棒的工具,可以让你设计一个图表并导出JSON格式。 –

回答

2

这是一个有效的解决方案。基本上,您必须在线图中重复使用与条形图中相同的项目名称,以确保您不会引入新的柱/ x轴点。你不必定义所有四个匹配点,但对我来说,这似乎是一个很好的做法。尽管如此,问题的关键是不要引入一个新的“项目”名称,从而产生新的栏。在我的例子中,我刚刚重用了“一月”。

<cfchart format="png" scalefrom="0" scaleto="5000"> 
<!--- four blue bars ---> 
<cfchartseries 
    type="bar" 
    serieslabel="Website Traffic 2006" 
    seriescolor="blue"> 
<cfchartdata item="January" value="1000"> 
<cfchartdata item="February" value="2000"> 
<cfchartdata item="March" value="3000"> 
<cfchartdata item="April" value="4000"> 
</cfchartseries> 
<!--- one red line ---> 
<cfchartseries 
    type="line" 
    seriesColor="red" 
    paintStyle="plain" 
    seriesLabel="Contract Salaries"> 
<cfchartdata item="January" value="2500"> 
</cfchartseries> 
</cfchart> 
+0

是的,使用相同的“项目”是关键。但是,为了在所有栏中生成一致的价值线,我相信您确实需要全部四个点。否则,在“一月”之后它将降至零。 – Leigh

+0

啊,有趣。在CF9下,线条在“1月”后下降到零,但在CF10中,在所有四条线条上保持2500。 – Leigh

+0

大卫,你给了我正在寻找的确切答案。非常感谢您的帮助! –

相关问题