一旦我需要一个图表组件,它可以显示插线为我的项目之一。我并不需要一个复杂的全功能的图表,我只需要一个简单的基本功能之一。不要找到一个标准的Delphi TChart组件的神器出山:www.shenqi73.com方式来做到这一点,我决定写我自己的。
目前,它有三个图形样式:线条,流畅的线条与B样条,和酒吧。它有multilined标题,图例,自动y轴,并支持多个系列。它也可以产生单色的使用单色电刷图版本。我的编程需求,这些功能是足够的。
我学到了很多,从创建这个组件。我学到的算法来接轴数值范围是一致的值为零的任意一组。我也学会了一些的线性插值algoritms,虽然目前只有B-样条曲线被容纳在此组件。终于,我明白了为什么只有极少数有图表组件。
有一些主要的组件的方法:
程序BeginUpdate;
·调用此方法,以防止更新其内容的控制。这是非常有用的,当你想添加庞大的数据图表。不要忘了当你调用EndUpdate提供数据。
程序EndUpdate;
调用此方法来重新启用更新。您必须调用的BeginUpdate之前调用此方法。
的功能AddSeries(助熔:TSeriesKind)的TNiceSeries;
·加入了一系列新的图表。 A系列是一间酒吧,直线或流畅的线条类型。
的功能ClientToChart(const的X,Y:整数;变种AX,AY:双):布尔值;
·调用这个函数来得到X轴和Y轴的值从鼠标位置。 X和Y的参数是鼠标的位置,相应的X轴和Y轴的值被存储在AX和AY变量。如果鼠标位置的X轴和Y轴范围内,本函数返回TRUE。否则,返回False。
程序RemoveSeries(A系列TNiceSeries);
·从图中移除一个系列。
程序清除;
·从图中删除所有系列。
CreateMetafile:TMetafile;
从图中创建图元文件(WMF)。此功能是非常有用的,当你想要的内容保存到一个文件中的图表。
程序CopyToClipboard;
·复制内容到剪贴板的图表。的内容可以粘贴在任何应用程序中的图形图像。