我需要创建一个生成的基于png的图表文件,其中包含有数字值的绘图标签,如下面的示例所示。我在Coldfusion10上,所以这是使用更新的ZingChart引擎。您看到的示例是由ZingChart生成器创建的。

顺便说一句,我可以画一个基本图表到一个png文件,并检索它,并看到它!我可以把X和Y的东西弄好。我可以得到我的系列展示在一个传奇,我可以做基本的定位材料,我可以做不同的图表类型。我似乎不能用json覆盖东西做任何事,特别是情节条标签。
我提供的代码来自于我从网际网路上搜索到的用...but测试的一个例子,它应该会很好地失败(就像我一整天一样)。
<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>" />我是在一个集群环境中,这些图表不提供HTML,因此png解决方案。此外,我必须像在图像中一样,因为图像缩放,我可以导出到一个PDF,它看起来正确,服务器呈现和拍摄它到客户端,所以我有非常少的客户端延迟。
现在。在#plot#中有可变的替换,等等。正如您在上面看到的(我没有看到我已经尝试过(一整天)的“任何”json的东西(很多不同的方式/组合来实现某些事情)。它要么失败和错误(因为我犯了一个错误),要么它什么也不做(这是令人惊讶的可怕)。
上面的json内容可能会有问题,但我再次用新的json尝试、内联的json、简化的等等重写了更改。
我认为应该发生的是,情节值:方框文本: v%应该(通过仙女魔法)将图表数据值参数中的任何值作为一个很好的数字返回(或者低于这个值)(或者是我所期望的),但是它没有做任何事情,所以我不能测试我的期望。
如果需要更多的细节请告诉我..。
PS和FYI:我不能处理其他图表包。
发布于 2015-02-17 16:02:36
好吧,你所要做的就是去睡觉,完全失败了,再打一天。
下面是解决方案(它附在chartseries容器上)。>>>> datalabelstyle="value"
<cfchartseries
datalabelstyle="value"
type="bar"
seriescolor="blue"
seriesLabel="SeriesC" >
<cfloop from="1" to="10" index="i">
<cfchartdata item="" value="#randRange( 5, 100 )#">
</cfloop>
</cfchartseries>更重要的是。JSON的东西只适用于format="html",...It不适用于format="png"。format="png"不使用zing曲线图,而是返回到webcharts3D引擎。Coldfusion 10有两个图表引擎。我希望这能帮助那些陷入这种怪诞境地的人。另外,对于Coldfusion11,webcharts3d可以工作。有一种错误的讨论会让我们更清楚地了解该做什么。
https://stackoverflow.com/questions/28552925
复制相似问题