`

fusioncharts Y轴不显示中文的解决方法

 
阅读更多

 

fusionChart工作原理主要是通过后台传xml数据源给报表前台flash,flash接收数据并渲染成最终的图表。

第一 用过的人肯定都有会碰到,就是中文支持,按照默认的输出,肯定最后数据无法渲染。fusionChart 有两种调用xml数据方法 setDataURL 和setDataXml方法。现就两种方式中文支持方法一一描述一下

     1 先说 setDataXml,只要输出是response.setCaractEncoding("utf-8")即可。由于配置时已经加过编码过滤器了,所以这步也可省略。这样做的缺点就是输出xml过长可能会有问题。

     2 setDataURL方法,需要在你输出的xml字符串之前加上utf-8 bom技术标示,这样前台就可以读出中文了。如下:

byte[] utf8Bom =  new byte[]{(byte) 0xef, (byte) 0xbb, (byte) 0xbf};   

String utf8BomStr = new String(utf8Bom,"UTF-8"); 

就是还有一点需要注意,就是url是带参数的如下 /statistics/chartData.do?name=${searchName}${urlParam}“&”符号fusionChart是不认的,也需要URLEncoder.encoding转换为中文支持

   第二 就是比较头疼的 柱状图中横坐标 标题中文不显示的问题,主要因为fusionChart强行旋转了y轴标题的文字,汉字是不支持的 网上的解决办法是加上xml根结点加属性 rotateYAxisName=‘0’ 但是  fusionChart free版本是不支持这个属性,fusionChart  v3版本支持这个

free版上解决 rotateYAxisName不支持问题:

用sothink swf decompiler工具把相应的swf破解,直接改源代码 既然是yAxisName出了问题当然就是从这下手,找到yAxisName的相关代码,很快找到生成的那段AS

Js代码

if (this.Params.xAxisName != "")   

    {   

        createText(this.getLevel(), this.Params.xAxisName, this.Objects.Canvas.xPos + this.Objects.Canvas.width / 2, this.Objects.Canvas.height + this.Objects.xAxisName.yPos, this.Params.outCnvBaseFont, this.Params.outCnvBaseFontSize, this.Params.outCnvBaseFontColor, true, "center", "center", null, true);   

    } // end if   

    if (this.Params.yAxisName != "")   

    {   

        createText(this.getLevel(), this.Params.yAxisName, this.Objects.yAxisName.xPos, this.Objects.Canvas.yPos + this.Objects.Canvas.height / 2, "Verdana", Number(this.Params.outCnvBaseFontSize) + 1, this.Params.outCnvBaseFontColor, false, "center", "center", 270, true);   

    } // end if 

if (this.Params.xAxisName != "") { createText(this.getLevel(), this.Params.xAxisName, this.Objects.Canvas.xPos + this.Objects.Canvas.width / 2, this.Objects.Canvas.height + this.Objects.xAxisName.yPos, this.Params.outCnvBaseFont, this.Params.outCnvBaseFontSize, this.Params.outCnvBaseFontColor, true, "center", "center", null, true); } // end if if (this.Params.yAxisName != "") { createText(this.getLevel(), this.Params.yAxisName, this.Objects.yAxisName.xPos, this.Objects.Canvas.yPos + this.Objects.Canvas.height / 2, "Verdana", Number(this.Params.outCnvBaseFontSize) + 1, this.Params.outCnvBaseFontColor, false, "center", "center", 270, true); } // end if

注意看倒数第五 和倒数第二个参数 输出x轴和y轴有什么不同,改成一样就可以了,编译好把flash替换了刷新页面 横向输出的y轴坐标已经出来了。还有点不完美的就是第一个字显示了一半被截掉了一样,看着不舒服,解决办法: 输出的xml根节点加上 chartLeftMargin=‘30’属性。ok大功告成

分享到:
评论

相关推荐

    玩转FusionCharts:Y轴数字形式(如去掉K)

    本文将详细介绍如何利用FusionCharts这一强大的图表工具来实现Y轴数字形式的自定义,包括但不限于去除单位“k”以及添加自定义前缀和后缀。 #### FusionCharts简介 FusionCharts是一款非常受欢迎且功能丰富的...

    FusionCharts图表显示双Y轴双(多)曲线

    在描述中,我们了解到FCF_MSLine.swf这个图表类型不支持双Y轴的显示,而MSCombiDY2D.swf则提供了这样的功能。MSCombiDY2D是FusionCharts的一种复合图表类型,它可以同时展示多种数据系列,并且可以配置为双Y轴模式,...

    多Y轴折线图

    在多Y轴折线图中,每个数据系列可以关联到不同的Y轴,这样它们将在不同的尺度上显示。 4. **数据系列**:数据系列包含折线图上的点,它们可以分别对应不同的Y轴。在JSON配置中,定义每个系列的名称、颜色、数据源等...

    FusionCharts参数中文说明

    功能特性 ... showLimits 是否显示图表限值(y轴最大、最小值),默认为1(True) showColumnShadow 是否显示各条形图间的阴影(若柱面图在一起并列的话) showAlternateHGridColor 是否隔行显示不同颜色

    fusioncharts 点击柱子链接,中文乱码

    ### FusionCharts点击柱子链接中文乱码问题解析与解决方案 #### 一、问题背景与概述 ...通过以上步骤的实施,可以有效地解决FusionCharts图表中点击柱子链接时出现的中文乱码问题,提升用户体验并确保数据的准确性。

    FusionCharts_柱状图详解

    - **showYAxisValues**: 布尔值,控制Y轴数值的显示,开启后可直观显示数据范围。 - **showLimits**: 布尔值,决定是否显示Y轴的上限和下限值,对数据分析尤其有用。 - **showDivLineValues**: 布尔值,控制除Y轴上...

    FusionCharts提示信息问题解决

    标题中的"FusionCharts提示信息问题解决"涉及到的是一个与数据可视化工具FusionCharts相关的技术问题。FusionCharts是一款流行的JavaScript图表库,它允许开发者创建交互式的、丰富的图表和图形,常用于数据分析和...

    FusionCharts

    综上所述,FusionCharts是一款全面的数据可视化解决方案,无论你是开发人员还是业务分析师,都能借助它轻松创建出专业、美观且交互性强的报表,提升数据呈现的效果和效率。通过学习和掌握FusionCharts的使用,你将能...

    利用FusionCharts 实现数据图表展示

    FusionCharts是一款强大的JavaScript图表库,它允许开发者创建交互式且富有视觉吸引力的数据可视化图表。在Web应用中,数据图表的展示是传达信息、分析数据和做出决策的关键工具。FusionCharts支持多种图表类型,...

    fusionCharts完美破解版

    fusionCharts完美破解版:解决中文竖排不显示问题 FusionCharts 完美破解版,不是之前的36个,一共49个 包含FusionCharts使用手记 官方Demo 中文开发指南 解决中文乱码Demo Area2D.swf Bar2D.swf Bubble.swf Column...

    FusionCharts Free开发文档

    FusionCharts Free是InfoSoft Global公司开发的基于Flash的图表组件,提供跨平台、跨浏览器的解决方案,能够生成交互式的动态图表。下面是FusionCharts Free开发文档的详细知识点: 一、FusionCharts介绍 ...

    fusionCharts的feeddata方法

    在提供的文档中,《fusionWidgetsV3.1中文说明文档》可能包含了更多关于FusionCharts及其组件的详细信息,包括如何配置图表、设置属性以及使用各种方法,如`feedData`。建议查阅此文档以获取更深入的理解和实际应用...

    自己整理的FusionCharts(支持中文)

    在中文环境下,FusionCharts提供了良好的本地化支持,使得X轴、Y轴以及图表的数据标签都能够显示为中文,这对于中文用户来说是非常友好的。本文将深入探讨如何利用FusionCharts在JavaScript中实现在图表中显示中文,...

    FusionCharts_API_中文帮助文件

    - 错误代码和消息:学习识别并解决FusionCharts API使用中的常见问题。 - 开发者工具:利用浏览器的开发者工具检查图表渲染和网络请求。 9. **示例与实战** - 示例代码:文档中包含大量示例代码,供学习和参考。...

    ExtJS+FusionCharts结合的两种方法

    标题中的“ExtJS+FusionCharts结合的两种方法”是指在Web开发中,如何将ExtJS框架与FusionCharts图表库结合起来使用,以实现交互式的、数据丰富的可视化界面。ExtJS是一个强大的JavaScript库,用于构建复杂的用户...

    fusionCharts

    FusionCharts是一款强大的数据可视化工具,专为创建交互式、丰富多彩的...这些文件为我们提供了学习和使用FusionCharts的资源,通过深入研究这些内容,开发者可以更好地理解和掌握FusionCharts的使用方法和高级特性。

    fusioncharts

    综上所述,FusionCharts 提供了一套全面的数据可视化解决方案,包括各种图表类型、丰富的定制参数以及不断更新的版本特性。通过学习和应用这些知识,开发者能够创建出专业且引人入胜的数据展示,使复杂的数据变得...

    FusionCharts区域图例子

    - 自定义轴:可以自定义X轴和Y轴的刻度、标签、范围等。 - 多系列比较:在同一图表上可以展示多个数据系列,方便对比分析。 4. **ScatterReturn示例** - 散点图与区域图结合:散点图上的点代表特定的值,区域图...

    FusionCharts Free中文开发指南.rar

    **FusionCharts Free中文开发指南** FusionCharts是一款强大的数据可视化工具,专为创建交互式图表和图形而设计。FusionCharts Free是其免费版本,适用于个人和非商业项目,提供了一系列基本图表类型,帮助开发者将...

Global site tag (gtag.js) - Google Analytics