- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有谁知道如何在 Delphi7(和 TeeChart 4.04)中将 XValues 从一个 TChartSeries 复制到另一个? TChartSeries.ReplaceList(CopySeries.XValues, OriginalSeries.XValues)
不起作用,因为它似乎替换了引用,所以当 OriginalSeries 更改时,CopySeries 也会更改。 CopySeries 的长度等于或大于 OriginalSeries。我想保留 CopySeries.YValues。
我的解决方法是创建一个临时列表
Dummy := TChartSeries.Create(nil);
Dummy.AssignValues(OriginalSeries);
CopySeries.ReplaceList(CopySeries.XValues, Dummy.XValues);
Dummy.YValues.Destroy;
但是我遇到了内存泄漏,因为我无法销毁 Dummy,因为这也会删除 CopySeries.XValues 引用的 Dummy.XValues。
非常感谢任何帮助。
最佳答案
我可以想到两种选择:
将 ValueList 数组直接分配给 Real-time Charting 中的系列文章,例如:
uses Series;
procedure TForm1.FormCreate(Sender: TObject);
begin
Chart1.AddSeries(TLineSeries.Create(Self)).FillSampleValues;
Chart1.AddSeries(TLineSeries.Create(Self));
{ set our X array }
Chart1[1].XValues.Value:=Chart1[0].XValues.Value; { <-- the array }
Chart1[1].XValues.Count:=Chart1[0].Count; { <-- number of points }
Chart1[1].XValues.Modified:=True; { <-- recalculate min and max }
{ set our Y array }
Chart1[1].YValues.Value:=Chart1[0].YValues.Value;
Chart1[1].YValues.Count:=Chart1[0].Count;
Chart1[1].YValues.Modified:=True;
{ Show data }
Chart1.Series[1].Repaint;
end;
克隆系列:
uses Series;
procedure TForm1.FormCreate(Sender: TObject);
begin
Chart1.AddSeries(TLineSeries.Create(Self)).FillSampleValues;
Chart1.AddSeries(CloneChartSeries(Chart1[0]));
end;
如果您使用的是 TeeChart 4.04,您可能必须处理像 Chart1.Series[0] 这样的系列,而不是像 Chart1[0] Repaint 在第一个示例中调用。或者你可以尝试这样的事情:
uses Series, Math;
procedure TForm1.FormCreate(Sender: TObject);
var i, MinNumValues, MaxNumValues: Integer;
begin
Chart1.AddSeries(TLineSeries.Create(Self)).FillSampleValues(15);
Chart1.AddSeries(TLineSeries.Create(Self)).FillSampleValues(25);
MinNumValues:=Min(Chart1.Series[0].Count, Chart1.Series[1].Count);
MaxNumValues:=Max(Chart1.Series[0].Count, Chart1.Series[1].Count);
for i:=0 to MinNumValues -1 do
Chart1.Series[1].XValue[i]:=Chart1.Series[0].XValue[i];
for i:=MinNumValues to MaxNumValues-1 do
Chart1.Series[1].ValueColor[i] := clNone;
end;
关于delphi - 将 XValues 从一个 TChartSeries 复制到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7528132/
我正在使用 teechart 和 delphi XE4。我认为我的问题非常基本,但是我找不到解决方案。 在一个简短的示例中,我有一个 TChartSeries,其中包含 OnCLick 事件的事件处理
有谁知道如何在 Delphi7(和 TeeChart 4.04)中将 XValues 从一个 TChartSeries 复制到另一个? TChartSeries.ReplaceList(CopySer
我正在使用 Delphi 7 附带的 TChart 控件,并希望获取鼠标指针下的线条/条形的系列和值编号。 我知道 OnClickSeries 事件提供了很好的信息,但是当我将鼠标悬停在一个系列上时,
我是一名优秀的程序员,十分优秀!