润乾报表使用DIV层实现坐标差值的算法
2012-05-28 09:12
676 查看
在润乾报表统计图中,其X轴坐标并不是从展示页面的最右方0像素开始的,而是有一个偏移量像素数。这个偏移量像素数包括四个部分:
1、纵轴标题、纵轴标签、图例(如果图例在右方)、横轴起始点和横轴数据起始点之间的间隔。
在这4个影响偏移量的部分中,只有两个部分可以通过报表设计器控制:第一个是纵轴标题,可以保留其为空直接去除;第二个是图例,可以选择不显示图例去除,而纵轴标签和数据起始点间隔两个因素不能通过报表设计器来控制。
使用DIV层来控制,其基本思路是在上层的DIV层中,通过JS编程,监听鼠标拖拽事件,从而获得当前鼠标所在的X轴坐标点像素。然后通过一定的算法,转换为下层DIV中该点在统计图中对应的横轴统计图坐标。
其算法为:
(统计图中指定点对应的横轴统计图坐标值*相邻坐标值间隔像素)+ 偏移量像素数 = 上层DIV中当前坐标的横向像素数
在这个算法中,需要细化的部分是:相邻坐标值间隔像素,需要固化的部分是:偏移量像素数。
首先细化相邻坐标值间隔像素数,其值等于(数据终止点像素-数据起始点像素)/数据间隔数。
然后固化偏移量像素数,包括:
1、去除纵轴标题
2、不显示图例
3、固定纵轴标签
3、固定横轴数据点的个数
然后根据算法,解一个1元1次方程即可倒推出横轴统计图的坐标值,然后可将该值传入其他报表做进一步的分析和运算。
文章转自:http://www.runqian.com.cn/archives/4555.html/
1、纵轴标题、纵轴标签、图例(如果图例在右方)、横轴起始点和横轴数据起始点之间的间隔。
在这4个影响偏移量的部分中,只有两个部分可以通过报表设计器控制:第一个是纵轴标题,可以保留其为空直接去除;第二个是图例,可以选择不显示图例去除,而纵轴标签和数据起始点间隔两个因素不能通过报表设计器来控制。
使用DIV层来控制,其基本思路是在上层的DIV层中,通过JS编程,监听鼠标拖拽事件,从而获得当前鼠标所在的X轴坐标点像素。然后通过一定的算法,转换为下层DIV中该点在统计图中对应的横轴统计图坐标。
其算法为:
(统计图中指定点对应的横轴统计图坐标值*相邻坐标值间隔像素)+ 偏移量像素数 = 上层DIV中当前坐标的横向像素数
在这个算法中,需要细化的部分是:相邻坐标值间隔像素,需要固化的部分是:偏移量像素数。
首先细化相邻坐标值间隔像素数,其值等于(数据终止点像素-数据起始点像素)/数据间隔数。
然后固化偏移量像素数,包括:
1、去除纵轴标题
2、不显示图例
3、固定纵轴标签
3、固定横轴数据点的个数
然后根据算法,解一个1元1次方程即可倒推出横轴统计图的坐标值,然后可将该值传入其他报表做进一步的分析和运算。
文章转自:http://www.runqian.com.cn/archives/4555.html/
相关文章推荐
- 润乾报表使用DIV层实现坐标差值的算法
- 润乾报表使用DIV层实现坐标差值的算法
- 润乾报表使用DIV层实现坐标差值的算法
- 润乾报表使用Frame实现初始参数 报表为空效果
- 润乾报表中使用动态宏实现数据集中字段分别排序
- 润乾报表 报表组使用api相关接口实现动态添加报表项
- 已知三点坐标求外接圆方程和RANSAC算法的介绍,用C语言实现,其使用随机抽样一致性算法来求最合适圆时使用
- 使用局部标准差实现图像的局部对比度增强算法。
- 使用共享变量实现主报表及子报表之间的数据共享
- IBM 实现使用称为 mark-sweep-compact(MSC)的垃圾收集算法 2
- 坐标上升算法(Coordinate Ascent)及C++编程实现
- 第一次使用水晶报表,柱状图的横竖坐标不会定位,怎么办?
- 润乾报表实现可重复分组报表及改进
- 『水晶报表』使用 水晶报表 实现打印
- 润乾报表 echarts统计图如何使用自定义主题
- 使用Aspose.Cell控件实现Excel高难度报表的生成
- 关于一道面试题,使用C#实现字符串反转算法
- 润乾报表实现跨行组运算报表及改进
- 使用.NET自带的类实现DataGrid报表的打印
- 使用Aspose.Cell控件实现Excel高难度报表的生成(二)