Charts Legend question : Checkbox placement

TeeChart for Microsoft Visual Studio .NET, Xamarin Studio (Android, iOS & Forms) & Monodevelop.
Post Reply
Neo
Newbie
Newbie
Posts: 6
Joined: Thu Dec 20, 2007 12:00 am

Charts Legend question : Checkbox placement

Post by Neo » Wed Feb 18, 2009 6:26 am

Hi ,

I have a question of the usage of chart's legend.
How to place checkbox afetr the text in the legend ?

Thanks ,
Best regards.

Sandra
Site Admin
Site Admin
Posts: 3132
Joined: Fri Nov 07, 2008 12:00 am

Post by Sandra » Wed Feb 18, 2009 9:48 am

Hi Neo,

If you want put checkbox in the legend you could do the following code:

Code: Select all

            tChart1.Legend.CheckBoxes = true;


I hope that my help you serve.
Best Regards,
Sandra Pazos / Development & Support
Steema Software
Avinguda Montilivi 33, 17003 Girona, Catalonia
Tel: 34 972 218 797
http://www.steema.com
Image Image Image Image Image Image
Instructions - How to post in this forum

Neo
Newbie
Newbie
Posts: 6
Joined: Thu Dec 20, 2007 12:00 am

Post by Neo » Wed Feb 18, 2009 10:09 am

Hi , Sandra :

Thank for your reply .

I have already set the property to true .

Could I put the checkbox in different position ?
For example :

If I make the property true , the checkbox is appeared before the text.

What could I do to make the checkbox behind the text ?

Thanks ,
Best Regards.

Sandra
Site Admin
Site Admin
Posts: 3132
Joined: Fri Nov 07, 2008 12:00 am

Post by Sandra » Wed Feb 18, 2009 10:50 am

Hi, Neo
Could I put the checkbox in different position ?
At the moment this isn't possible I added on list of Feauter Reports We will consider if you add a new verison of TeeChart .NET


Thanks,
Best Regards,
Sandra Pazos / Development & Support
Steema Software
Avinguda Montilivi 33, 17003 Girona, Catalonia
Tel: 34 972 218 797
http://www.steema.com
Image Image Image Image Image Image
Instructions - How to post in this forum

Neo
Newbie
Newbie
Posts: 6
Joined: Thu Dec 20, 2007 12:00 am

Post by Neo » Sun Feb 22, 2009 10:33 am

Hi Sandra :
I have a sample that the legend of chart is what i want .
But I could not make it by myself that I didn't kwow what properties should be setting.

Thanks ,
Best Regards.

Image

Neo
Newbie
Newbie
Posts: 6
Joined: Thu Dec 20, 2007 12:00 am

Post by Neo » Sun Feb 22, 2009 10:35 am

Hi Sandra :
I have make an url , you can link to see my sample.

Thanks.
Best Regards.

http://photo.xuite.net/longsha1223/3088952/1.jpg

Sandra
Site Admin
Site Admin
Posts: 3132
Joined: Fri Nov 07, 2008 12:00 am

Post by Sandra » Mon Feb 23, 2009 9:48 am

Hi Neo,

You could do a similar code as next exemple:

Event AfterDraw

Code: Select all

private void tChart1_AfterDraw(object sender, Steema.TeeChart.Drawing.Graphics3D g)
        {
            
                    System.Drawing.Rectangle legRect = this.tChart1.Legend.ShapeBounds;
                    Steema.TeeChart.Drawing.Graphics3D gr = tChart1.Graphics3D;
                    gr.HorizontalLine(legRect.Left,legRect.Right,legRect.Bottom -50);
                    gr.TextAlign = System.Drawing.StringAlignment.Near;
                    gr.Font.Size = 8;
                    gr.Font.Color = Color.Navy;
                    gr.TextOut(legRect.Left+8,legRect.Bottom -38,"Bar1 = 50");
                    gr.TextOut(legRect.Left+8,legRect.Bottom -26,"Bar2 = 55");
                    gr.TextOut(legRect.Left+ 8, legRect.Bottom -16, "Bar3 = 59");

        }
Event GetLegendPos

Code: Select all

private void tChart1_GetLegendPos(object sender, Steema.TeeChart.GetLegendPosEventArgs e)
        {
                    e.X -= 80;
                    e.XColor -= 80;

        }

Event GetLegendRect

Code: Select all

private void tChart1_GetLegendRect(object sender, Steema.TeeChart.GetLegendRectEventArgs e)
        {
                 e.Rectangle = new Rectangle(e.Rectangle.Left - 80, e.Rectangle.Top,e.Rectangle.Width + 30,e.Rectangle.Height + 60);

        }

As you can see, the code modifies the legend rectangle. So you can set legend as you like. Also you can modify legend checkboxes using this code or similar, it just depends on the position you'd like to plot them.
Best Regards,
Sandra Pazos / Development & Support
Steema Software
Avinguda Montilivi 33, 17003 Girona, Catalonia
Tel: 34 972 218 797
http://www.steema.com
Image Image Image Image Image Image
Instructions - How to post in this forum

Neo
Newbie
Newbie
Posts: 6
Joined: Thu Dec 20, 2007 12:00 am

Post by Neo » Tue Feb 24, 2009 8:57 am

Hi , Sandra :

Could you let me know how the chart work ?

Because I didn't know exactly the foundation of the chart .

For example :
why to use the Graphics3D ?

Thanks.

Best Regards.

Sandra
Site Admin
Site Admin
Posts: 3132
Joined: Fri Nov 07, 2008 12:00 am

Post by Sandra » Tue Feb 24, 2009 10:47 am

Hi Neo,
why to use the Graphics3D ?
Well, I relaized that is not necessary the following part of code:

Code: Select all

       Steema.TeeChart.Drawing.Graphics3D gr = tChart1.Graphics3D;
I recommend you delete this, because the code will be more easy to understand and because the event already has the g parameter which can be used for that.
Could you let me know how the chart work
Ok, In your code you have a chart, and this has a canvas. Well simply you draw in chart's canvas.
On this you can draw different things for exemple: line, rectangles, etc. And place the elements where you want.

I also advise that you have a look at the tutorial and demo examples included with TeeChart .Net installer. Specially you can see a simple example for drawing more text in the legend in All Features\Welcome !\Miscellaneous\Legend\Drawing more text. Demo and tutorials can be found at TeeChart's program group.

Thanks,
Best Regards,
Sandra Pazos / Development & Support
Steema Software
Avinguda Montilivi 33, 17003 Girona, Catalonia
Tel: 34 972 218 797
http://www.steema.com
Image Image Image Image Image Image
Instructions - How to post in this forum

Neo
Newbie
Newbie
Posts: 6
Joined: Thu Dec 20, 2007 12:00 am

Post by Neo » Wed Feb 25, 2009 12:43 am

Hi Sandra :

Code: Select all

I recommend you delete this, because the code will be more easy to understand and because the event already has the g parameter which can be used for that
Is it mean the TeeChart v3 has the property to set ?

Where can I found the property ?

Thanks.

Best Regards.

Sandra
Site Admin
Site Admin
Posts: 3132
Joined: Fri Nov 07, 2008 12:00 am

Post by Sandra » Wed Feb 25, 2009 9:13 am

Hi Neo,
Is it mean the TeeChart v3 has the property to set ?
Where can I found the property ?
Yes, in the event AfterDraw appears:private void tChart1_AfterDraw(object sender, Steema.TeeChart.Drawing.Graphics3D g). This is Graphics3D g that you use in your code ,and is not necessary to add the other Graphics3D because so exist in this event.

See next code:

Code: Select all

        private void tChart1_AfterDraw(object sender, Steema.TeeChart.Drawing.Graphics3D g)
        {
            
                    System.Drawing.Rectangle legRect = this.tChart1.Legend.ShapeBounds;
                    g.HorizontalLine(legRect.Left,legRect.Right,legRect.Bottom -60);
                    g.TextAlign = System.Drawing.StringAlignment.Near;
                    g.Font.Size = 8;
                    g.Font.Color = Color.Navy;
                    g.TextOut(legRect.Left+8,legRect.Bottom -58,"Bar1 = "+tChart1[0].MaxYValue().ToString());
                    g.TextOut(legRect.Left+8,legRect.Bottom -48,"Bar3 = "+tChart1[1].MaxYValue().ToString());
                    g.TextOut(legRect.Left+ 8, legRect.Bottom -38, "Bar4 = "+tChart1[2].MaxYValue().ToString());
                    g.TextOut(legRect.Left + 8, legRect.Bottom -28, "Bar5 = "+ tChart1[3].MaxYValue().ToString());

        }
As you can see g parameter do same with gr for first code, for this reason gr is better than delete


Thanks,
Best Regards,
Sandra Pazos / Development & Support
Steema Software
Avinguda Montilivi 33, 17003 Girona, Catalonia
Tel: 34 972 218 797
http://www.steema.com
Image Image Image Image Image Image
Instructions - How to post in this forum

Post Reply