彩票走势图

图表控件Teechart常见问答集合—TeeChart Pro VCL:使用TeeChart Pro VCL动画活动量表

翻译|使用教程|编辑:况鱼杰|2019-08-28 15:39:12.000|阅读 403 次

概述:本教程将会持续介绍有关于图表控件Teechart的问答文章,帮助用户解决常见问题。本篇文章将会介绍如何使用TeeChart Pro VCL动画活动量表。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

    TeeChart Pro VCL/FMX是一款主流的图表制作工具。提供了数百种用于可视化的2D、3D图形样式、56种数学、统计和金融函数,以及不限数量的坐标轴和30种调色板组件。    

点击下载最新版TeeChart Pro VCL/FMX


    目前TeeChart Pro for VCL / FMX没有可用于本文章将会展示如何使用另一个系列类型和一些技巧去创建活动量表。

    需要用到甜甜圈类型,我们要在图表上添加尽可能多的Donut系列作为我们想要的活动。直接从图表编辑器本身入手。    

1566976873.png

    当在表格中添加了图表并且添加的是不同的甜甜圈系列,似乎无法获得所需的结果,但我们会看到...... 这时候,首先要做的是将图表设置为2D,隐藏标题和传奇,我们也会隐藏每个系列的标记。我们在这里:    

image2.png

    现在,需要修改一个将开始进行更改的重要属性。它是名为Multiple Pies的属性,在编辑器 - >系列 - > Series1 - > Donut - > Options - > Multiple Pies。默认情况下,此项设置为自动,我们会将所有系列更改为禁用。

    修改此属性后,我们在图表中看起来只有一个甜甜圈系列,如此处所示。

1566977090.png

    接着修改另一个将更改图表的重要属性,它是名为Hole%的属性,我们在格式选项卡中的每个系列的选项中找到它。在这里,要为每个Donut系列的孔设置不同的百分比值,在不同系列之间分配大小。第一个系列必须包含较小的孔尺寸,我们可以设置值60%,在第二个系列中(在我们有三个系列的情况下)我们将设置值74%,第三个88%。 结果将是:

1566977210.png

    现在,您所要做的就是为每个系列隐藏笔,或者设置不同的颜色和大小,我们将看到我们想要的图表。

image5-300x296.png

    作为系列或图表的一个额外特征,我将在中心添加一个文本,它将显示活动的价值。为此,我可以使用TeeChart中已有的注释工具,也可以通过TChart编辑器创建/添加。将注释对齐设置为居中并格式化字体。

1566977328.png

    这个系列类型(活动量表)的一个重要特征是它的动画。TeeChart Pro为不同的系列类型合并了几个动画,但在这种情况下,由于正在创建的是一种完全个性化的系列,所以将手动创建动画。

  1. 要在表单中添加三个TTimer对象,每个系列一个,将它们设置为Enabled为False并定义Interval为10。

  2. 还可以添加一个Button组件,这是用来启动动画的组件。

  3. 接着给它功能;我们将通过代码执行后续步骤。

    通过代码做的第一件事是创建一个方法,将会重置并初始化所有Series值,名为ResetValues, 代码:

procedure TActivityGaugeForm.ResetValues;
var i : integer;
begin
  ChartTool1.Text := '0 %';
  Chart1.Hover.Visible := false;

  for i := 0 to Chart1.SeriesCount-1 do
  begin
    Chart1[i].FillSampleValues(2);
    Chart1[i].YValue[0] := 100;
    Chart1[i].YValue[1] := 0;
    Chart1[i].ValueColor[0] := Series1.Pen.Color;
  end;
end;

    将从Application的CreateForm事件中调用此方法,并且每次单击Button1时也是如此:

procedure TActivityGaugeForm.FormCreate(Sender: TObject);
begin
  ResetValues;
end;

procedure TActivityGaugeForm.Button1Click(Sender: TObject);
begin
  ResetValues;
  Timer1.Enabled := true;
  Button1.Enabled := false;
end;

    最后,唯一缺少的是在相应的Timer事件中添加生成Series动画的代码:

procedure TActivityGaugeForm.Timer1Timer(Sender: TObject);
begin
  Series1.YValue[0] := Series1.YValue[0]-1;
  Series1.YValue[1] := Series1.YValue[1]+1;

  ChartTool1.Text := round(Series1.YValue[1]).ToString() + ' %';

  if (Series1.YValue[1] = 90) then
  begin
    Timer1.Enabled := false;
    Timer2.Enabled := true;
  end;
end;

procedure TActivityGaugeForm.Timer2Timer(Sender: TObject);
begin
  Series2.YValue[0] := Series2.YValue[0]-1;
  Series2.YValue[1] := Series2.YValue[1]+1;

  ChartTool1.Text := round(Series2.YValue[1]).ToString() + ' %';

  if (Series2.YValue[1] = 75) then
  begin
    Timer2.Enabled := false;
    Timer3.Enabled := true;
  end;
end;

procedure TActivityGaugeForm.Timer3Timer(Sender: TObject);
begin
  Series3.YValue[0] := Series3.YValue[0]-1;
  Series3.YValue[1] := Series3.YValue[1]+1;

  ChartTool1.Text := round(Series3.YValue[1]).ToString() + ' %';

  if (Series3.YValue[1] = 60) then
  begin
    Timer3.Enabled := false;
    Button1.Enabled := true;
  end;
end;

    完成以上所有操作之后,需要运行应用程序并查看结果。

Result.gif

    希望以上操作对您有帮助,如果你有任何的建议或者想法都可以联系

相关资料推荐:

TeeChart Pro VCL/FMX连载教程>>

TeeChart 2019资源集合>>


TeeChart Pro VCL/FMX已加入在线订购,现在抢购可立享特别优惠!!!

 关注慧聚IT微信公众号☟☟☟,了解产品的最新动态及最新资讯。

dd2629f30d553d56ccaf7164fdcb784e-sz_28327.webp.jpg

Axolot Data厂商夏日特惠,Word报表系列组件大放“价”!



标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP