0

我正在 CF11 中创建一个条形图。是否可以根据数据为 CFchartseries 中的不同条形赋予不同的颜色。

<cfchartseries serieslabel="Rent" type="bar" colorlist="barcolr_list">
        <cfloop index="counter" from=1 to="#ArrayLen(PropName_arry)-1#" step="1">               
        <cfchartdata item="#PropName_arry[counter]#" value="#Grossrent_arry[counter]#" >        
    </cfloop>
</cfchartseries>

我在文档中读到 colorlist 属性可用于 pie,pyramid..etc graph 。如何根据总租金值为条形设置不同的颜色

即,如果总租金 > 800,则条形颜色应为红色,否则应为蓝色

此代码在 CF7 中有效。但在 CF11 中无效

4

1 回答 1

0

ColorList 仅适用于图表类型饼图、金字塔、面积、水平条、圆锥、圆柱或阶梯。cfchartseries

您可以通过 2 种不同的方式为每列创建特定颜色。通过规则或通过样式列表。

您可以创建添加到绘图属性的规则。指定适用于该规则的颜色。下面的示例显示了 x 轴值为 true 时的规则。

<cfset plot= {"rules": [
    {"rule":"'%k'=='2007'",
     "background-color":"purple"},
    {"rule":"'%k'=='2008'",
     "background-color":"pink"},
    {"rule":"'%k'=='2009'",
     "background-color":"green"}]}
    >

或者,您可以使用 plot 中的样式属性为图表创建样式列表。

<cfset plot = {"styles":[
{
"background-color":"##e95d22"
},
{
"background-color":"##017890"
},
{
"background-color":"##da534d"
},
{
"background-color":"##4a266d"
},
{
"background-color":"##f4913c"
}]}>

像这样在图表元素中包含绘图变量。

<cfchart format="png" chartheight="180" chartwidth="233" showlegend="false" style="test.js" plot="#plot#">
<cfchartseries type="bar">
    <cfchartdata item="2005" value="1000"/>
    <cfchartdata item="2006" value="3000"/>
    <cfchartdata item="2007" value="1000"/>
    <cfchartdata item="2008" value="4000"/>
    <cfchartdata item="2009" value="2000"/>
</cfchartseries>

为了帮助我的示例,这里是我的 test.js

{
"graphset":[
    {
    "border-width":1, 
    "background-color":"transparent",
    "plotarea":{"margin":"dynamic"}
}]
}

这两种技术也可以直接通过 test.js 文件包含,但要使这些颜色动态化,通过 plot 属性输入它们更容易。

于 2014-07-22T14:52:26.083 回答