在TeeChart中有可能出现真正的虚线系列吗?
我试图代表TChart上的几个数据通道以显示数据中断。根据计划,每个系列应包含多个范围。每个范围代表图表上的一个破折号,并且仅包含两个点:起点和终点,以加快图表绘制的速度。
我没有找到中断的行系列,因此我在行上建立了多个FastLineSeries的示例,并手动设置了它们的颜色:
unit BCLMain;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, VclTee.TeeGDIPlus, VCLTee.TeEngine,
Vcl.ExtCtrls, VCLTee.TeeProcs, VCLTee.Chart, VCLTee.Series;
type
TForm1 = class(TForm)
Chart1: TChart;
procedure FormShow(Sender: TObject);
private
procedure _fillSeries(serIndex: Integer);
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormShow(Sender: TObject);
var
i: Integer;
begin
Chart1.ClearChart();
Chart1.View3D := False;
for i := 0 to 4 do _fillSeries(i);
end;
procedure TForm1._fillSeries(serIndex: Integer);
const
serc: array[0..4] of TColor = (clRed, clGreen, clBlue, clYellow, clFuchsia);
var
i, r: Integer;
ser: TFastLineSeries;
begin
for i := 0 to 4 do begin
ser := TFastLineSeries.Create(Chart1);
ser.Color := serc[serIndex];
ser.Pen.Width := 5;
Chart1.AddSeries(ser);
r := Random(20);
ser.AddXY(i*10+r, serIndex);
ser.AddXY((i+1)*10-1+r, serIndex);
end;
end;
end.
这里的问题是,该行中的破折号不能解释为单个序列:它们不能一次隐藏/显示,而是在图例中表示为多个项目。
如何制作真正的中断系列?
如果不可能,那么如何在图例中合并单行的片段? (将来,我想通过单击图例中的相应复选框来显示/隐藏每行)。