We are using TeeChart pro 7.04 and are trying to pain a few series/axis lables in multiple lines. To Achieve this we tried using TeeLineSeparator as demonstrated in demo also but it does not works. We also trying to insert Character 13 (#13) at the point where we want to break the labels but that also does not works. Instead of wrapping the text on that character even #13 character is painted as a rectangle.
Please suggest if we need to do something else or set some property in the chart before this could be achieved?
Regards
TeeLineSeparator not working with axis labels
-
- Newbie
- Posts: 8
- Joined: Fri Sep 02, 2005 4:00 am
Hello Corey Panno,
We tryed the following simple example code and it works fine for us. We only added a Chart in a new form and added a Bar series in design time. The other modifications we made were those following, in runtime:
Note that we changed the bottom margin to show the label properly; if doesn't, you'll see the bottom axis labels cutted.
Please, could you check if that code works for you?
If this doesn't help, could you please send us a simple example project we can run "as-is" to reproduce the problem here?
You can post your files at [url]news://www.steema.net/steema.public.attachments[/url] newsgroup or at our upload page
We tryed the following simple example code and it works fine for us. We only added a Chart in a new form and added a Bar series in design time. The other modifications we made were those following, in runtime:
Code: Select all
procedure TForm1.FormCreate(Sender: TObject);
begin
Series1.Add(123,'Here is'+TeeLineSeparator+'Value'+TeeLineSeparator+'123');
Series1.Add(321,'Here is'+TeeLineSeparator+'Value'+TeeLineSeparator+'321');
Series1.Add(234,'Here is'+TeeLineSeparator+'Value'+TeeLineSeparator+'234');
Series1.Add(432,'Here is'+TeeLineSeparator+'Value'+TeeLineSeparator+'432');
Series1.Add(345,'Here is'+TeeLineSeparator+'Value'+TeeLineSeparator+'345');
Series1.Add(543,'Here is'+TeeLineSeparator+'Value'+TeeLineSeparator+'543');
Chart1.MarginBottom := 10;
end;
Please, could you check if that code works for you?
If this doesn't help, could you please send us a simple example project we can run "as-is" to reproduce the problem here?
You can post your files at [url]news://www.steema.net/steema.public.attachments[/url] newsgroup or at our upload page
Best Regards,
Yeray Alonso Development & Support Steema Software Av. Montilivi 33, 17003 Girona, Catalonia (SP) | |
Please read our Bug Fixing Policy |
-
- Newbie
- Posts: 8
- Joined: Fri Sep 02, 2005 4:00 am
problem is not with labels but with titles
thanks for you kind reply and code but the problem I am facing with using line separator is not with the labels but with the series titles. If you show the series titles near its bottom axis and if the title is a big string then it gets truncated. For this I was trying to wrap it in multiple lines and I tried using TeeLineSeparator as well as #13 but on the chart it is still being plotted in single line with rectangles at the place where line separator should have come.
any clue?
any clue?
-
- Site Admin
- Posts: 14730
- Joined: Mon Jun 09, 2003 4:00 am
- Location: Banyoles, Catalonia
- Contact:
Hi Corey,
Could you please let us know where are you displaying the series titles that are clipped?
Thanks in advance.
Could you please let us know where are you displaying the series titles that are clipped?
Thanks in advance.
Best Regards,
Narcís Calvet / Development & Support Steema Software Avinguda Montilivi 33, 17003 Girona, Catalonia Tel: 34 972 218 797 http://www.steema.com |
Instructions - How to post in this forum |
-
- Newbie
- Posts: 8
- Joined: Fri Sep 02, 2005 4:00 am
displaying series titles on Depth Axis labels
Thanks for your reply Narcis. We are trying to show series name on Depth Axis labels. The series are bars types and stack type is none.
Please help if possible.
Thanking in advance in anticipation.
Warm regards
Please help if possible.
Thanking in advance in anticipation.
Warm regards
In the following project I added in design time:
-bar series
-edit box and updown button relationed and inicialized to 12. This is only to see and change the right margin. You can consider it optional.
I hope it helps you to choose the better way to do what you want.
If it confuses you, take a look at the demos:
All features -> Tools -> Annotation
All features -> Axes -> Labels -> Custom Labels
-bar series
-edit box and updown button relationed and inicialized to 12. This is only to see and change the right margin. You can consider it optional.
Code: Select all
procedure TForm1.FormCreate(Sender: TObject);
begin
//Adding some data to the bar series
Series1.Add(123,'');
Series1.Add(321,'');
Series1.Add(234,'');
Series1.Add(432,'');
Series1.Add(345,'');
Series1.Add(543,'');
//Setting series to multibar as you suggested
Series1.MultiBar := mbNone;
Chart1.MarginRight := 12;
Chart1.Legend.Visible := False;
end;
//This changes the right margin. So you should add a UpDown Command and a edit box
//(and associate them properly) to use this function
procedure TForm1.UpDown1Click(Sender: TObject; Button: TUDBtnType);
begin
Chart1.MarginRight := UpDown1.Position;
end;
//This is to Show/Hide Depth Axis visiblility. Its necessary to be active to show Depth
//axis titles and GetAxisLabels event.
procedure TForm1.DepthVisibilityClick(Sender: TObject);
begin
if DepthVisibility.Checked then
begin
Chart1.Axes.Depth.Visible := true;
end
else
begin
Chart1.Axes.Depth.Visible := false;
end;
end;
//This checkbox shows/hides depth axis title. I supose its the problem you need to solve.
//I added this checkbow to show the problem. Note that to see it, you should enable
//DepthVisibility checkbox previously.
procedure TForm1.DepthTitleClick(Sender: TObject);
begin
if DepthTitle.Checked then
begin
Chart1.Axes.Depth.Title.Visible := true;
//Chart1.Axes.Depth.Title.Caption := 'my series1 '#13' depth right very'#13'very large title';
Chart1.Axes.Depth.Title.Caption := 'my series1 '+TeeLineSeparator+' depth right very'+TeeLineSeparator+'very large title';
end
else
begin
Chart1.Axes.Depth.Title.Visible := false;
end;
end;
//This is for show/hide the custom labels example. Note that when you get active the custom labels,
//the GetAxisLabels event becomes inactive
procedure TForm1.CustomLabelsClick(Sender: TObject);
begin
if CustomLabels.Checked then
begin
//Chart1.Axes.Depth.Items.Add(0,'my series1'#13'depth right very'#13'very large title').Transparent:=False;
Chart1.Axes.Depth.Items.Add(0,'my series1'+TeeLineSeparator+'depth right very'+TeeLineSeparator+'very large title').Transparent:=False;
end
else
begin
Chart1.Axes.Depth.Items.Clear;
end;
end;
//This is the previously mentioned GetAxisLabels event.
procedure TForm1.Chart1GetAxisLabel(Sender: TChartAxis;
Series: TChartSeries; ValueIndex: Integer; var LabelText: String);
begin
if Sender = Chart1.Axes[4] then
begin
//LabelText:= 'my series1'#13'depth right very'#13'very large title';
LabelText:= 'my series1'+TeeLineSeparator+'depth right very'+TeeLineSeparator+'very large title';
end;
end;
//This shows/hides an annotation tool
procedure TForm1.AnnotationToolClick(Sender: TObject);
begin
if AnnotationTool.Checked then
begin
ChartTool1 := TAnnotationTool.Create(Self);
ChartTool1.ParentChart := Chart1;
ChartTool1.Position := ppRightBottom;
//ChartTool1.Text := 'my series1'#13'depth right very'#13'very large title';
ChartTool1.Text := 'my series1'+TeeLineSeparator+'depth right very'+TeeLineSeparator+'very large title';
ChartTool1.Visible := true;
end
else
begin
ChartTool1.Visible := false;
end;
end;
If it confuses you, take a look at the demos:
All features -> Tools -> Annotation
All features -> Axes -> Labels -> Custom Labels
Best Regards,
Yeray Alonso Development & Support Steema Software Av. Montilivi 33, 17003 Girona, Catalonia (SP) | |
Please read our Bug Fixing Policy |