我正在尝试使用cfchar来显示消息的数量,一切都运行得很好,但是当我有少量的数字时,它会将其分解为小数。有没有办法让它始终设置为整数?
代码如下:
<cfchart format="#display#" type="bar" show3d="no" showlegend="false" chartHeight="300" chartWidth="220">
<cfchartseries colorlist="##E18014,green,red" type="bar">
<cfchartdata item="Calls Made" value="#voice_messages.TotalMessages#">
<cfchartdata item="Successful" value="#voice_messages.ReceiptsReceived#">
<cfif #voice_messages.DeliveryFailures# neq "0">
<cfchartdata item="Bus/No Ans" value="#voice_messages.DeliveryFailures#">
</cfif>
</cfchartseries>
</cfchart>这是一张图表的图片

我在Stack和网络上找遍了,但什么也没找到。任何帮助都将不胜感激。
谢谢!!
发布于 2020-04-18 04:30:12
<cfchart>有一个名为yAxisValues的属性。它接受一个值数组。对于这种情况,一旦我有了数据,我会做一些事情来产生一个合适的数组来用于这个属性。
发布于 2020-04-19 22:03:51
验证chartdata值voice_messages.TotalMessages、voice_messages.ReceiptsReceived和是否为事实上的整数。使用像这样的东西:
<cfset displayChart=false>
<cfif (isNumeric(voice_messages.TotalMessages) and voice_messages.TotalMessages gte 0)
and (isNumeric(voice_messages.ReceiptsReceived) and voice_messages.ReceiptsReceived gte 0)
and (isNumeric(voice_messages.DeliveryFailures) and voice_messages.DeliveryFailures gte 0)>
<cfset numberOfMessages=int(voice_messages.TotalMessages)>
<cfset numberOfReceipts=int(voice_messages.ReceiptsReceived)>
<cfset numberOfFailures=int(voice_messages.DeliveryFailures)>
<cfset displayChart=true>
</cfif>
<cfif displayChart>
<!--- You may have to increase the chartWidth to make room for all the labels--->
<cfchart format="png" type="bar" show3d="no" showlegend="false" chartHeight="300" chartWidth="300">
<cfchartseries colorlist="##E18014,green,red" type="bar">
<cfchartdata item="Calls Made" value="#numberOfMessages#">
<cfchartdata item="Successful" value="#numberOfReceipts#">
<cfif numberOfFailures neq 0>
<cfchartdata item="Bus/No Ans" value="#numberOfFailures#">
</cfif>
</cfchartseries>
</cfchart>
<cfelse>
Sorry, chart cannot be displayed because chartdata are not all integers.
</cfif>在任何情况下,您都应该意识到所显示的显示中的标签与代码中的标签并不对应。
发布于 2020-04-21 17:53:58
我现在将给你另一个答案。这是最后的答案,因为它涉及到更改ColdFusion服务器设置。也许这就是你不容易在网上找到它的原因。再次提醒您:这是服务器设置的更改。所以备份你的文件吧!
ColdFusion 2018 (我的版本)使用ZingCharts的设置来配置cfcharts中的样式。您可以在C:\ColdFusion2018\cfusion\charting\styles中找到相关文件。您要编辑条形图的样式文件。
在文本编辑器中打开文件C:\ColdFusion2018\cfusion\charting\styles\bar.它有JSON格式。
找到元素"scale-y“。它的开头是:
"scale-y“:{ "format”:"%v","font-size“:16,...诸若此类。
在它前面加上键值对"decimals“:0。结果应该是:
"scale-y“:{ "decimals”:0,"format“:"%v","font-size”:16,...诸若此类。
这将确保y轴的小数位数为0。
保存文件并重新启动ColdFusion以使更改生效。
现在,您已经将cfchart的条形图中的y轴配置为不再有小数。
你会注意到元素"scale-y“是"graphset”的一个子元素。如果您有兴趣了解有关其设置的更多信息,请访问https://www.zingchart.com/docs/api/json-configuration/graphset
https://stackoverflow.com/questions/61279746
复制相似问题