Coldfusion cfquery和cfloop中的cfcharts绘图值框png(带数字)

Coldfusion cfquery和cfloop中的cfcharts绘图值框png(带数字),coldfusion,coldfusion-10,cfchart,zingchart,Coldfusion,Coldfusion 10,Cfchart,Zingchart,我需要创建一个生成的基于png的图表文件,该文件带有带有数字值的打印标签,如下面的示例所示。我在Coldfusion 10上,所以这是使用较新的ZingChart引擎。你看到的例子是由 顺便说一句,我可以画一个基本的图表到一个png文件,检索它,并看到它!我可以把X和Y的东西弄对。我可以用图例展示我的系列,我可以做基本的定位,我可以做不同的图表类型。我似乎无法对json覆盖做任何事情,尤其是打印栏标签 我提供的代码来自一个我从interwebs中搜索的示例,以进行测试……但它应该会很好地失败(

我需要创建一个生成的基于png的图表文件,该文件带有带有数字值的打印标签,如下面的示例所示。我在Coldfusion 10上,所以这是使用较新的ZingChart引擎。你看到的例子是由

顺便说一句,我可以画一个基本的图表到一个png文件,检索它,并看到它!我可以把X和Y的东西弄对。我可以用图例展示我的系列,我可以做基本的定位,我可以做不同的图表类型。我似乎无法对json覆盖做任何事情,尤其是打印栏标签

我提供的代码来自一个我从interwebs中搜索的示例,以进行测试……但它应该会很好地失败(就像我一整天的工作一样)


图例={
“宽度”:150,
“高度”:25,
“职位”:“100%0%”,
“利润率最高”:10,
“保证金权利”:10,
“左边距”:10,
“保证金底部”:10,
“布局”:“x2”,
“alpha”:0.5,
“背景色”:“##99cc66”,
“背景色-2”:“99cc66”,
“边框颜色”:“##000000”,
“边界宽度”:1,
“影子”:没错,
“阴影阿尔法”:1,
“阴影颜色”:“##000000”,
“阴影距离”:2,
“阴影模糊x”:1,
“阴影模糊y”:1,
“可拖动”:错误,
“最小化”:false
};
type=“bar”;
绘图={
“值框”:{
“类型”:“全部”,
“文本”:“%v”,
“文本对齐”:“居中”,
“alpha”:0.5,
“背景色”:“##99cc66”,
“背景色-2”:“99cc66”,
“边框颜色”:“##000000”,
“边框宽度”:1
}
};
#savedFile#“/>
我在一个集群环境中,这些图表不提供HTML,因此使用png解决方案。另外,我必须将其作为图像,因为图像可以缩放,我可以导出为PDF,它看起来很好,服务器将其渲染并拍摄到客户端,所以客户端延迟很小

现在,在#plot#中有变量替换,等等……正如你在上面所看到的(我没有看到“任何”我尝试过的json东西工作(一整天)(有这么多不同的方法/组合来实现某些事情)。它要么失败,要么出错(因为我犯了一个错误),要么什么都没做(这真是太棒了)

上面的json内容可能会有问题,但我再一次,我用新的json尝试,内联json,简化json等重写了一次又一次的更改

我认为应该发生的是,plot value:box text:v%应该(通过fairy magic)返回chartdata value参数中的任何值,作为一个好的数字,位于条的上方或下方(或者我希望如此),但它没有任何作用,因此我无法测试我的预期

如果需要更多细节,请告诉我


PS和FYI:我不能做其他的制图软件包。

好吧,你所要做的就是完全失败地上床睡觉去争取下一天

这是解决方案(它附加到
chartseries
容器)。>>>>
datalabelstyle=“value”


更重要的是,JSON只适用于
format=“html”
…它不适用于
format=“png”
format=“png”“
没有使用zingcharts,而是使用webcharts3D引擎。Coldfusion 10有两个图表引擎。我希望这能帮助其他陷入这种怪圈的人。同样,对于Coldfusion 11,webcharts3D也可以工作

<cfscript>
    legend = {
        "width":150,
        "height":25,
        "position":"100% 0%",
        "margin-top":10,
        "margin-right":10,
        "margin-left":10,
        "margin-bottom":10,
        "layout":"x2",
        "alpha":0.5,
        "background-color":"##99cc66",
        "background-color-2":"##99cc66",
        "border-color":"##000000",
        "border-width":1,
        "shadow":true,
        "shadow-alpha":1,
        "shadow-color":"##000000",
        "shadow-distance":2,
        "shadow-blur-x":1,
        "shadow-blur-y":1,
        "draggable":false,
        "minimize":false
    };
    type ="bar";
    plot = {
        "value-box":{
            "type":"all",
            "text":"%v",
            "text-align":"center",
            "alpha":0.5,
            "background-color":"##99cc66",
            "background-color-2":"##99cc66",
            "border-color":"##000000",
            "border-width":1
        }
    };
</cfscript>
<cfchart
legend="#legend#"
plot="#plot#"
type="#type#"
showlegend="true"
height="300"
width="1300" 
title="Super fun time!" 
format="png" 
name="moreComplexThanChineseArithmetic">
    <cfchartseries seriescolor="red" seriesLabel="SeriesA"  >
        <cfloop from="1" to="10" index="i">
            <cfchartdata item="" value="#randRange( 5, 100 )#">
        </cfloop>
    </cfchartseries>
    <cfchartseries seriescolor="green"  seriesLabel="SeriesB"  >
        <cfloop from="1" to="10" index="i">
        <cfchartdata item="" value="#randRange( 5, 100 )#">
        </cfloop>
    </cfchartseries>
    <cfchartseries seriescolor="blue" seriesLabel="SeriesC" >
        <cfloop from="1" to="10" index="i">
        <cfchartdata item="" value="#randRange( 5, 100 )#">
        </cfloop>
    </cfchartseries>
</cfchart>
<cfset savedFile = getTempFile("/dynamic/coldfusion/temp/", "moreComplexThanChineseArithmetic") & ".png" />
<cfset fileWrite(savedFile, moreComplexThanChineseArithmetic) />     
<img src="<cfoutput>#savedFile#</cfoutput>" />
<cfchartseries 
    datalabelstyle="value" 
    type="bar" 
    seriescolor="blue" 
    seriesLabel="SeriesC" >
        <cfloop from="1" to="10" index="i">
        <cfchartdata item="" value="#randRange( 5, 100 )#">
        </cfloop>
</cfchartseries>