gpt4 book ai didi

delphi - TChart 中的虚线系列

转载 作者:行者123 更新时间:2023-12-02 07:33:05 25 4
gpt4 key购买 nike

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.

这里的问题是,行中的破折号不会被解释为单个系列:它们无法立即隐藏/显示,并且在图例中表示为多个项目。

enter image description here

如何制作真正的中断系列?

如果不可能,那么如何连接图例中的单行片段? (将来我想通过单击图例中相应的复选框来显示/隐藏每一行)。

最佳答案

每条水平线的甘特图系列应该可以帮助您接近。关闭该系列的“Color Each”,以便所有片段都具有相同的颜色。

enter image description here

关于delphi - TChart 中的虚线系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57255524/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com