Fusioncharts free X轴 文字重叠 的解决办法
2011-08-08 09:18
141 查看
我在网上也查了一下关于Fusioncharts free X轴 文字重叠的问题,但是问题的解决办法还是不尽满意!
问题如下面截图所示:
![](http://hi.csdn.net/attachment/201108/8/0_1312766262z61b.gif)
下面我有两个办法来解决X轴文字重叠的问题.
1. 将X轴和Y轴替换,也就是说是用图表的类型为Bar类型,同时Bar类型的图表如下
图展示:
![](http://hi.csdn.net/attachment/201108/8/0_1312766266xZ3m.gif)
同时我也观察了图表的列同时支持中文,也就是没有不显示中文这一说,同时文字是横向展示,也就是也不存再文字重叠这一说!
2. 第二种办法是给图表添加滚动条,拿到X轴最长的汉字的长度,来计算宽度,到时候显示图表的宽度为我们算好的宽度,这时候宽度肯定会超过我们要展示图表的宽度,最后给图表添加滚动条,这样问题就解决了。
我具体的步骤如下:
1) 首先因为图表的每列的宽度都是固定的,所以我们要算出哪一列是属于最宽的列,用这个最宽的列来充当图表每个单元的列宽。具体代码如下:
var maxlength=0;//保存最大的列宽
// chartValue为我封装的报表的数据集合,
// categories 为X轴所以列名称的集合
2) 然后根据最大字符个数算出字符的宽度,
//在这里我就详细分析字符为汉字,字符,数字,全笔字 的各个宽度,这个宽度还得根据你设置X轴的字符大小,来设定.我在这里就写一个简单的13
来做一个例子, chartValue. categories.length是有多少个列:
var addWidth=maxlength*13*chartValue. categories.length;
3) 设置flash外面层的样式为<div id=”chartdiv” style=”overflow: scroll-x;”>
4) 这样图表就会以滚动条的方式展示出来X轴所有的汉字!
使用第二种方法结果如下截图:
![](http://hi.csdn.net/attachment/201108/8/0_1312766269h5NP.gif)
3. 第三种办法可行但是有点问题,就是设置属性rotateNames='1' 将列的名称竖着显示,但是如果竖着显示列名就不可以显示中文,free的这个版本没有倾斜多少度来显示列名的功能,只有垂直显示列名,如果大家的需求里面列名不存在显示中文,我感觉第三种方法还是首选,这样还比较简单一点!
以上3中方法仅供参考,如果这三种方法还是没有解决大家的问题,请大家发送邮件至.nishiwode923@qq.com,或者直接给我留言,我会尽我自己最大能力来帮助大家解决问题!
同时大家有什么问题也可以给我留言或者发邮件,晚辈将万分感谢! 谢谢
问题如下面截图所示:
![](http://hi.csdn.net/attachment/201108/8/0_1312766262z61b.gif)
下面我有两个办法来解决X轴文字重叠的问题.
1. 将X轴和Y轴替换,也就是说是用图表的类型为Bar类型,同时Bar类型的图表如下
图展示:
![](http://hi.csdn.net/attachment/201108/8/0_1312766266xZ3m.gif)
同时我也观察了图表的列同时支持中文,也就是没有不显示中文这一说,同时文字是横向展示,也就是也不存再文字重叠这一说!
2. 第二种办法是给图表添加滚动条,拿到X轴最长的汉字的长度,来计算宽度,到时候显示图表的宽度为我们算好的宽度,这时候宽度肯定会超过我们要展示图表的宽度,最后给图表添加滚动条,这样问题就解决了。
我具体的步骤如下:
1) 首先因为图表的每列的宽度都是固定的,所以我们要算出哪一列是属于最宽的列,用这个最宽的列来充当图表每个单元的列宽。具体代码如下:
var maxlength=0;//保存最大的列宽
// chartValue为我封装的报表的数据集合,
// categories 为X轴所以列名称的集合
for(var i=0;i<chartValue. categories.length;i++) { var tLength=nodeValue.categories[i].length; maxlength=tLength>maxlength?tLength:maxlength; }
2) 然后根据最大字符个数算出字符的宽度,
//在这里我就详细分析字符为汉字,字符,数字,全笔字 的各个宽度,这个宽度还得根据你设置X轴的字符大小,来设定.我在这里就写一个简单的13
来做一个例子, chartValue. categories.length是有多少个列:
var addWidth=maxlength*13*chartValue. categories.length;
3) 设置flash外面层的样式为<div id=”chartdiv” style=”overflow: scroll-x;”>
var chart = new FusionCharts("../Charts/FCF_Column3D.swf", "ChartId", addWidth , "350");
4) 这样图表就会以滚动条的方式展示出来X轴所有的汉字!
使用第二种方法结果如下截图:
![](http://hi.csdn.net/attachment/201108/8/0_1312766269h5NP.gif)
3. 第三种办法可行但是有点问题,就是设置属性rotateNames='1' 将列的名称竖着显示,但是如果竖着显示列名就不可以显示中文,free的这个版本没有倾斜多少度来显示列名的功能,只有垂直显示列名,如果大家的需求里面列名不存在显示中文,我感觉第三种方法还是首选,这样还比较简单一点!
以上3中方法仅供参考,如果这三种方法还是没有解决大家的问题,请大家发送邮件至.nishiwode923@qq.com,或者直接给我留言,我会尽我自己最大能力来帮助大家解决问题!
同时大家有什么问题也可以给我留言或者发邮件,晚辈将万分感谢! 谢谢
相关文章推荐
- MFC重写OnCtlColor函数造成的文本框文字、闪烁重叠的问题解决办法
- Fusioncharts free X轴 文字重叠 的解决办法
- ext2 图片文字重叠解决办法
- <li>标签,在文字超出宽度时引起混乱的解决办法
- android中画文字的换行 办法(对于遇到canvas.drawText(String s )无法实现换行问题的解决)
- 本地计算机和远程桌面计算机间不能正常复制粘贴文字或文件解决办法
- UITextView 文字莫名其妙垂直居中解决办法
- DIV 边框重叠 像素变粗 解决办法
- 解决TableView与状态栏重叠的办法
- WindowXP使用"包含文字"搜索,找不到文件之解决办法
- # **Fragment切换时重叠显示的解决办法**
- div相互覆盖,div与div盒子之间产生重叠覆盖现象的解决办法
- AndroidStudio自动模拟器所有引入的文字都显示成资源id的解决办法
- 关于Autocad中部分文字无法选中的解决办法
- latex解决目录文字重叠问题的方法
- Ubuntu 火狐浏览器中,鼠标选择文字被删除的解决办法
- 屏蔽双击选中文字的解决办法,兼容ie,google,firefox
- Win2003或WinXP无法搜索包含文字的解决办法
- C# EXCEL导入 混合列读取文字为空的解决办法
- 本地计算机和远程桌面计算机间不能正常复制粘贴文字或文件解决办法