首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从cfquery和cfloop绘制值-box png (带有数字)

从cfquery和cfloop绘制值-box png (带有数字)
EN

Stack Overflow用户
提问于 2015-02-17 00:51:33
回答 1查看 356关注 0票数 1

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

顺便说一句,我可以画一个基本图表到一个png文件,并检索它,并看到它!我可以把X和Y的东西弄好。我可以得到我的系列展示在一个传奇,我可以做基本的定位材料,我可以做不同的图表类型。我似乎不能用json覆盖东西做任何事,特别是情节条标签。

我提供的代码来自于我从网际网路上搜索到的用...but测试的一个例子,它应该会很好地失败(就像我一整天一样)。

代码语言:javascript
复制
<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:我不能处理其他图表包。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-17 16:02:36

好吧,你所要做的就是去睡觉,完全失败了,再打一天。

下面是解决方案(它附在chartseries容器上)。>>>> datalabelstyle="value"

代码语言:javascript
复制
<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可以工作。有一种错误的讨论会让我们更清楚地了解该做什么。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28552925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档