摘要:
上一次加入了鼠标拖拽功能,这回加入我来加入一个区域框,并且框内数据的阴影,效果如下 具体实现思路就是,可以响应鼠标事件来移动和调整大小,并且获取覆盖的数据,画出阴影. 响应鼠标事件可以改造上次写的鼠标移动的功能 区域框的设计为2部分,一部分是上下的区域,用来移动整个区域框,一部分为左右的线,用来改变 阅读全文
摘要:
上一期已经完成了一个雏形。可以显示一个完整的折线图。本期给图表加上鼠标互动的功能。 首先新增一个专门处理鼠标事件的类。 hit 用来测试是否命中 MouseEventArgs 定义如下,封装了鼠标相对于图表的位置 x,y. 触发事件时的 位置 和 屏幕尺寸,还有原始的事件对象。 然后改造一下 Cha 阅读全文
摘要:
上期实现了数据投影的功能,现在就可以来实现坐标轴了。 以前只是整个画板范围内进行绘制,现在如果要进行坐标轴绘制,就要给画板分不同区域。 然后给 ChartElement 添加一个 area 属性 默认绘制到 plot 上 然后实现一个 Axis ,area 默认到 xAxis,ticks 是刻度值的 阅读全文
摘要:
上次写了一个简单的折线图示例,但是显示的点的个数最多等于像素点的个数,这肯定是不满足需求的。 今天就来实现将无限的数据点投影到有限的像素上。 首先创建一个 Viewport 类,用来描述数据的范围,及数据点到像素的转换。 setVisible 设置窗口上显示的数据的范围 transform 用来将数 阅读全文
摘要:
首先从最简单的折线图开始 一个最简单的折线图有如下部分(这是从Excel截取的) X,Y坐标轴和折线图,所以可以把图表分成3个部分,左边,下边和中间。 这里,构造两个对象,来组织这些部分。 Chart 表示图表控件。 ChartElement 表示控件中的内容。 但是有了这两个类,并不能画出来东西。 阅读全文