如何控制TChart.Series的显示标签数量?

zxtyhy 2007-08-11 09:46:31
如题,请高手指教
当数据较多时,显示的标签就会相互重叠看不清楚,如何才能适当的减少标签的数量?
...全文
143 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wukw 2007-08-11
  • 打赏
  • 举报
回复
这个,DBCHART怎么可能自动知道需要显示哪些不显示哪些? 很简单,改用TCHART自己画啦!也不算很麻烦。
zxtyhy 2007-08-11
  • 打赏
  • 举报
回复
楼上,理解有误,
应该是控制Series.Marks的多少
wukw 2007-08-11
  • 打赏
  • 举报
回复
是底下标签还是Value标签?如果是底下的话:
Chart1.BottomAxis.LabelsMultiLine:=True;

//把一个字符串按指定的每行字符个数分割成多行
Function DivideStrToLine(In_Str:String;In_StrPerLine:Integer):String;
var
iLine,iIndex,iLength:Integer;
Begin
Result := '';
iLength := Length(In_Str);
iIndex := 1;
iLine := 1;
while (iIndex <= iLength) do
Begin
if (ByteType(In_Str,iIndex) = mbSingleByte) then
Begin
Result := Result + Copy(In_Str,iIndex,1);
Inc(iIndex);
End
Else
if (ByteType(In_Str,iIndex) = mbLeadByte) then
Begin
Result := Result + Copy(In_Str,iIndex,2);
iIndex := iIndex + 2;
End;
if ((iIndex < iLength) and (iIndex >= iLine * In_StrPerLine)) then
Begin
Result := Result + #13;
Inc(iLine) ;
End;
End;
End;
用法:
procedure TForm1.btn1Click(Sender: TObject);
begin
Series1.Add(21,DivideStrToLine('AAAAAAAAAAAAAAAAAAAAA',5));
end;

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧