起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 421|回复: 12

【结贴】代码给DataChart添加序列(Series)颜色问题

[复制链接]
发表于 2009-12-9 13:50:46 | 显示全部楼层 |阅读模式
代码给DataChart添加序列Series

超过16个之后的序列颜色都是红色的。

想要每个Series的颜色都不相同。  如何设置。


如果用代码设置SeriesColor,因为Series个数不确定,如何生成一个color使其不同于已存在的Series的SeriesColor
回复

使用道具 举报

发表于 2009-12-9 14:17:32 | 显示全部楼层
试试代码设置一下看看

SeriesColor = clGreen
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-9 14:24:39 | 显示全部楼层

Re: 代码给DataChart添加序列(Series)颜色问题

re:2楼

最初由 loworth 发布
[B]
如果用代码设置SeriesColor,因为Series个数不确定,如何生成一个color使其不同于已存在的Series的SeriesColor[/B]
回复 支持 反对

使用道具 举报

发表于 2009-12-9 14:26:08 | 显示全部楼层
Series17.SeriesColor := Business.System.Graphics.clLtGray; //至于什么颜色,你看看Graphics这个对象中都有哪些颜色
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-9 14:26:20 | 显示全部楼层
动态生成Series。   每个Series的颜色要求不同。       表达能力有限,见谅,不知道描述清楚了没有。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-9 14:27:31 | 显示全部楼层
怎样知道哪些颜色在同一个DataChart用过了?
回复 支持 反对

使用道具 举报

发表于 2009-12-9 14:33:20 | 显示全部楼层
最简单的就是你代码按个设置一下Series 的SeriesColor 属性为不同的颜色
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-9 14:55:08 | 显示全部楼层
看来还是我没表达明白

理解楼上的意思是,第一个设置成Graphics.clRed   第二个设置成Graphics.clBlue  依此类推。。。。。

问题关键不是怎样设置颜色, 而是在设置第二个seriescolor的侍候怎样知道clRed在第一个seriescolor占用了而不能使用clred只能使除了clred之外的其他颜色。

(为了防止再次误解我不会设置 将代码贴上
chartLine := TLineSeries.Create(DataChart);
DataChart.AddSeries(chartLine);
chartLine.SeriesColor := Graphics.clRed;//再次重申,请看这行,我会代码设置颜色。问题关键不在这里,ok?
)


如果实在理解不了我的问题, 就【结贴】吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-9 14:57:34 | 显示全部楼层
结贴吧
回复 支持 反对

使用道具 举报

发表于 2009-12-9 15:15:02 | 显示全部楼层
。。关键是没有简单的方法知道哪个颜色被使用了。所以还不如直接代码中 给每一个series设置不同的颜色(这样可以保证每一个series为不同的颜色)来的简单。你series都是代码创建的,那么多写一行代码设置它的颜色也不会增加很大的工作量。
看图

未命名.jpg

17.42 KB, 下载次数: 152

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-13 12:08 , Processed in 0.043222 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表