博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Delphi图表控件TChart使用
阅读量:7173 次
发布时间:2019-06-29

本文共 1922 字,大约阅读时间需要 6 分钟。

hot3.png

    最近开发要使 用图表,Delphi里提供了图表开发的控件TChart,可惜帮助里没有DEMO代码,上网搜索了一下,竟然发现文章也少的可怜。没办法,自己丰衣足 食,写代码试用,看帮助,读代码,搞了半天大概弄明白了TChart的使用方式,下面写一下几个常见问题的解决。

  1.如何写一个TChart的Hello World?
  放一个控件到窗体上,然后写代码加入一个折线数据序列:
  var
  Series: TLineSeries;
  begin
  Series := TLineSeries.Create(Chart1);
  Series.Add(100, 'aaa', clRed);
  Series.Add(200, 'AAA', clGreen);
  Chart1.AddSeries(Series);
  end;
  这样就会生成一个简单的折线图表,要生成其它类型的数据图表,可以添加不同的数据序列(各种图表的序列类型可以参考帮助文档)。
  2.如何设置图表的标题?
  TChart组件提供了Title属性可以这是图表的标题,包括标题的内容、字体、对齐方式等都可以通过Title属性设置。
  最简单的设置方式:
  Chart1.Title.Text.Text := '图表的标题';
  3.如何修改图表的背景颜色和整个图表的颜色?
  TChart是一个窗体控件,可以通过修改Color属性设置图表颜色,这是一种最简单的方式:
  Chart1.Color := clWhite;
  修改图表部分的背景色可以通过BackColor属性来实现:
  Chart1.BackColor := clGreen;
  此外,TChart还提供了渐变的背景支持,通过Gradient控制:
  Chart1.Gradient.Visible := True;
  Chart1.Gradient.Direction := gdFromTopLeft;
  Chart1.Gradient.StartColor := clGreen;
  Chart1.Gradient.EndColor := clYellow;
  4.TChart的3D效果如何控制?
  TChart提供了View3D属性,控制是否使用3D效果,View3dWalls属性控制是否显示左侧的3D墙效果
  5.如何不显示图表控件生成图表?
  很遗憾,TChart是一个Windows窗体控件,必须依附一个窗体或Windows控件才能使用。如果要不显示TChart的话,可以将TChart的Visible属性设为False来使用。下面的例子创建了一个隐藏的TChart来生成图表:
  var
  Chart: TChart;
  S: TChartSeries;
  TmpFile: string;
  begin
  Chart := TChart.Create(nil);
  try
  Chart.Parent := Application.MainForm;
  Chart.Visible := False;
  Chart.Title.Text.Text := '测试图表';
  S := TBarSeries.Create(Chart);
  Chart.AddSeries(S);
  S.Title := '嘿嘿';
  S.AddXY(1, 56, '一月', clGreen);
  S.AddXY(2, 67, '二月', clYellow);
  S.AddXY(3, 34, '三月', clBlue);
  S.AddXY(4, 78, '四月', clRed);
  Chart.View3D := False;
  Chart.BackColor := clWhite;
  Chart.Gradient.StartColor := clWhite;
  Chart.Gradient.EndColor := clWhite;
  Chart.Gradient.Visible := True;
  TmpFile := Application.ExeName + '.bmp';
  Chart.SaveToBitmapFile(TmpFile);
  Image1.Picture.LoadFromFile(TmpFile);
  finally
  Chart.Free;
  end;
  end;

转载于:https://my.oschina.net/kavensu/blog/191232

你可能感兴趣的文章
split的3种方法
查看>>
忽略PNG透明区域的事件(AS/Flash)
查看>>
文本框只能输入正整数(大于0的整数)代码
查看>>
一步一个脚印学习WCF系列之WCF概要—WCF服务的创建与调用HelloWorld实例,通过配置文件方式(六)...
查看>>
只需简单一步,android自带的示例程序 BluetoothChat 变蓝牙串口助手
查看>>
thrift之TTransport层的内存缓存传输类TMemoryBuffer
查看>>
使用pull方式解析xml文件示例:
查看>>
学习jQuery的免费资源:电子书、视频、教程和博客
查看>>
找出数列中个数大于总数一半的元素(编程之美2.3)
查看>>
断路器(CircuitBreaker)设计模式
查看>>
SQL中利用DMV进行数据库性能分析
查看>>
讨论:程序员高手和菜鸟的区别是什么?
查看>>
SQL Server里的 ISNULL 与 NULLIF
查看>>
Linux Systemcall By INT 0x80、Llinux Kernel Debug Based On Sourcecode
查看>>
imageNamed 与 imageWithContentsOfFile的区别
查看>>
【Mysql 调用存储过程,输出参数的坑】
查看>>
LCS算法
查看>>
COM结构化存储中存储对象或者流对象的命名规则
查看>>
iOS开发基础知识--碎片26
查看>>
制作鼠标移动到div上面显示弹出框
查看>>