CFChart不显示所有图表数据项

时间:2010-02-25 16:55:52

标签: flash coldfusion charts

我遇到ColdFusion的CFChart标签问题。我有几张图表无法正常显示。对于水平条形图,当试图显示50个或更多图表数据项时,图形的条形标签会停止绘图,但是一旦到达条形码50就会自动绘制条形图。我注意到使图表高度变大会使问题变得更糟好。如果我从1000像素到2000像素,它就会更快地停止绘制标签。填充图表项的查询也不返回空白标签名称。请参阅下面的屏幕,标签应该在“7到1”后继续绘制。

alt text http://www.imagechicken.com/uploads/1267118593090012000.png

我在ColdFusion 8 Developer Edition上运行。这是ColdFusion本机图表功能的可能限制吗?或者我应该考虑检查Flex Charting吗?

谢谢!

CF代码:

<cfset hideZeroData = "25">
<cfparam name="paramID" default="25">

<cfset ecfData = QueryNew("ecfName,cumValue")>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 1 to 2",1)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "26", 1)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 1 to 3",2)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "19", 2)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 1 to 4",3)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "11", 3)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 1 to 5",4)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "14", 4)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 1 to 6",5)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "38", 5)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 1 to 7",6)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "24", 6)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 1 to N",7)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "14", 7)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 1 to R",8)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "24", 8)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 2 to 1",9)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "16", 9)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 2 to 3",10)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "32", 10)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 2 to 4",11)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "34", 11)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 2 to 5",12)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "30", 12)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 2 to 6",13)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "34", 13)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 2 to 7",14)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "25", 14)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 2 to N",15)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "30", 15)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 2 to R",16)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "15", 16)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 3 to 1",17)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "26", 17)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 3 to 2",18)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "46", 18)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 3 to 4",19)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "11", 19)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 3 to 5",20)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "26", 20)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 3 to 6",21)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "19", 21)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 3 to 7",22)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "16", 22)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 3 to N",23)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "28", 23)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 3 to R",24)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "13", 24)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 4 to 1",25)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "19", 25)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 4 to 2",26)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "13", 26)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 4 to 3",27)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "36", 27)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 4 to 5",28)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "22", 28)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 4 to 6",29)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "4", 29)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 4 to 7",30)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "17", 30)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 4 to N",31)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "24", 31)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 4 to R",32)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "12", 32)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 5 to 1",33)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "21", 33)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 5 to 2",34)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "28", 34)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 5 to 3",35)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "24", 35)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 5 to 4",36)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "37", 36)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 5 to 6",37)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "24", 37)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 5 to 7",38)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "12", 38)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 5 to N",39)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "24", 39)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 5 to R",40)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "19", 40)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 6 to 1",41)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "19", 41)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 6 to 2",42)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "20", 42)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 6 to 3",43)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "21", 43)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 6 to 4",44)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "16", 44)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 6 to 5",45)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "27", 45)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 6 to 7",46)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "6", 46)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 6 to N",47)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "24", 47)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 6 to R",48)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "25", 48)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 7 to 1",49)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "16", 49)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 7 to 2",50)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "16", 50)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 7 to 3",51)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "18", 51)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 7 to 4",52)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "13", 52)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 7 to 5",53)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "35", 53)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 7 to 6",54)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "17", 54)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 7 to N",55)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "13", 55)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - 7 to R",56)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "2", 56)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - Any gear to L",57)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "233", 57)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - Any gear to P",58)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "182", 58)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - N to 1",59)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "21", 59)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - N to 2",60)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "24", 60)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - N to 3",61)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "21", 61)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - N to 4",62)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "10", 62)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - N to 5",63)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "13", 63)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - N to 6",64)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "29", 64)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - N to 7",65)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "14", 65)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - N to R",66)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "22", 66)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - R  to 1",67)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "7", 67)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - R to  2",68)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "19", 68)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - R to 3",69)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "18", 69)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - R to 4",70)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "16", 70)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - R to 5",71)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "22", 71)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - R to 6",72)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "13", 72)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - R to 7",73)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "27", 73)>
<cfset temp = QueryAddRow(ecfData)>
<cfset temp = QuerySetCell(ecfData,"ecfName", "Transmission Range - R to N",74)>
<cfset temp = QuerySetCell(ecfData,"cumValue", "10", 74)>

<cfoutput>
    <cfif ecfData.recordCount GT 0>
        <cfif ecfData.recordCount GT 10 AND ecfData.recordCount LT 50>
            <cfset chartStyle="DIME_events_thin">
            <cfset chartHeight = 1000>
        <cfelseif ecfData.recordCount GT 50>
            <cfset chartStyle="DIME_events_thin">
            <cfset chartHeight = 2500>  <!--- 1500px is the approximate max height that won't hide labels, after that labels start hiding. Except with 1500 px height, the labels get squished --->
        <cfelse>
            <cfset chartStyle="DIME_events_thin">
            <cfset chartHeight = 400>
        </cfif>

        <cfchart
            format="flash"
            xaxistitle=""           
            yaxistitle="Events"
            chartwidth="725" 
            fontSize="10"
            chartheight="#chartHeight#"
            style="#chartStyle#">
            <cfchartseries type="horizontalbar" seriescolor="##4AFF4A">
                <cfloop query="ecfData">
                    <cfif (NOT ListFind(hideZeroData, paramID)) OR (ecfData.cumValue GT 0)>
                        <cfchartdata item="#ListLast(ecfData.ecfName,'-')#" value="#ecfData.cumValue#">
                    </cfif>
                </cfloop>
            </cfchartseries>
        </cfchart>
    </cfif>
</cfoutput>

XML CF图表样式表:

<?xml version="1.0" encoding="UTF-8"?>
<frameChart autoAdjust="false" is3D="false" isInterpolated="true">
    <frame xDepth="6" yDepth="6"  outline="#333333" lightColor="white" 
        leftAxisPlacement="Front" rightAxisPlacement="Front" stripColor="#CCCCCC"/>
    <xAxis isVisible="true" scaleMin="0" scaleMax="100">
        <labelStyle isHideOverlapped="false" orientation="Horizontal" />
        <titleStyle font="Arial-12-bold" isMultiline="false" />
    </xAxis>
    <yAxis scaleMin="0">
        <titleStyle font="Arial-12-bold" isMultiline="true" />
        <dateTimeStyle majorUnit="Year" minorUnit="Month"/>
        <labelFormat style="Pattern" pattern="#,##0.########"/>
    </yAxis>
    <yAxis2>
        <titleStyle font="Arial-12-bold"/>
    </yAxis2>
    <topYAxis>
        <titleStyle font="Arial-12-bold"/>
    </topYAxis>
    <topYAxis2>
        <titleStyle font="Arial-12-bold"/>
    </topYAxis2>
    <dataLabels foreground="black"/>
    <legend isVisible="false" showColumnLegend="true">
        <decoration style="None"/>
    </legend>
    <elements action="" shape="Area" drawOutline="false" shapeSize="20">
        <morph morph="Grow"/>
        <series index="0">
            <paint color="#E48701"/>
        </series>
        <series index="1">
            <paint color="#A5BC4E"/>
        </series>
        <series index="2">
            <paint color="#1B95D9"/>
        </series>
        <series index="3">
            <paint color="#CACA9E"/>
        </series>
        <series index="4">
            <paint color="#6693B0"/>
        </series>
        <series index="5">
            <paint color="#F05E27"/>
        </series>
        <series index="6">
            <paint color="#86D1E4"/>
        </series>
        <series index="7">
            <paint color="#E4F9A0"/>
        </series>
        <series index="8">
            <paint color="#FFD512"/>
        </series>
        <series index="9">
            <paint color="#75B000"/>
        </series>
        <series index="10">
            <paint color="#0662B0"/>
        </series>
        <series index="11">
            <paint color="#EDE8C6"/>
        </series>
        <series index="12">
            <paint color="#CC3300"/>
        </series>
        <series index="13">
            <paint color="#D1DFE7"/>
        </series>
        <series index="14">
            <paint color="#52D4CA"/>
        </series>
        <series index="15">
            <paint color="#C5E05D"/>
        </series>
        <series index="16">
            <paint color="#E7C174"/>
        </series>
        <series index="17">
            <paint color="#FFF797"/>
        </series>
        <series index="18">
            <paint color="#C5F68F"/>
        </series>
        <series index="19">
            <paint color="#BDF1E6"/>
        </series>
        <series index="20">
            <paint color="#9E987D"/>
        </series>
        <series index="21">
            <paint color="#EB988D"/>
        </series>
        <series index="22">
            <paint color="#91C9E5"/>
        </series>
        <series index="23">
            <paint color="#93DC4A"/>
        </series>
        <series index="24">
            <paint color="#FFB900"/>
        </series>
        <series index="25">
            <paint color="#9EBBCD"/>
        </series>
        <series index="26">
            <paint color="#009797"/>
        </series>
        <series index="27">
            <paint color="#0DB2C2"/>
        </series>
    </elements>
    <popup background="#C8FFFFFF" foreground="#333333"/>
    <paint paint="Plain"/>
    <insets left="5" top="5" right="5" bottom="5"/>
</frameChart>

1 个答案:

答案 0 :(得分:1)

对不起 - 我对此感到震惊了一段时间,但无法让它发挥作用。我尝试在图表编辑器中重新创建该问题。我将默认数据修改为超过50列但我无法重现该问题。因此我认为这是你的风格。我注意到这一行:

labelStyle isHideOverlapped =“false”orientation =“Horizo​​ntal”isMultilevel =“true”

是罪魁祸首。你删除它,你看到了所有的标签 - 但由于它们的方向,它们很难阅读。

啊哈哈 - 试试这个:

labelStyle isMultilevel =“true”

它不是正确的,但似乎有效。