Steema Issues Database

Note: This database is for bugs and wishes only. For technical support help, if you are a customer please visit our online forums;
otherwise you can use StackOverflow.
Before using this bug-tracker we recommend a look at this document, Steema Bug Fixing Policy.



Bug 2397

Summary: Marks do not appear for all countries on the map graph
Product: VCL TeeChart Reporter: alexandre
Component: SeriesAssignee: Steema Issue Manager <issuemanager>
Status: RESOLVED NOTABUG    
Severity: critical CC: alexandre, yeray
Priority: Highest    
Version: 27.190530   
Target Milestone: ---   
Hardware: PC   
OS: Windows   
Chart Series: --- Delphi / C++ Builder RAD IDE Version: RAD 10.3 Rio
Attachments: Map chart.

Description alexandre 2021-01-07 09:10:26 EST
Created attachment 953 [details]
Map chart.

As can be seen in the attached image, it was configured to show the names of the countries, but some do not appear.

If I zoom in, then all the names appear.
But, I would like all names to be shown always.
How can I do this?
Comment 1 yeray alonso 2021-01-08 04:11:03 EST
`Marks.Automatic.Hide` property controls whether labels which don't fit into the shape bounds should be drawn or not.
You can set it to `False` but then you'll see overlapping and repeated labels because there are countries with small islands or regions next to them.

The alternative would be to manually draw your labels at OnAfterDraw event.
Comment 2 alexandre 2021-01-08 12:07:25 EST
I tried with your directions. But, it had no effect.

Can you clarify and / or leave a simple example code? I want to make all the Marks visible and with the same font size, even if they overlap.

Thanks.
Comment 3 yeray alonso 2021-01-18 07:38:40 EST
Just this:

  with TWorldSeries(Chart1.AddSeries(TWorldSeries)) do
  begin
    Map:=wmAfrica;
    Marks.Show;
    MapMarks.AutoSize:=False;
    Marks.Automatic.Hide:=False;
  end;
Comment 4 alexandre 2021-01-18 12:04:13 EST
(In reply to yeray alonso from comment #3)
> Just this:
> 
>   with TWorldSeries(Chart1.AddSeries(TWorldSeries)) do
>   begin
>     Map:=wmAfrica;
>     Marks.Show;
>     MapMarks.AutoSize:=False;
>     Marks.Automatic.Hide:=False;
>   end;

Hi Alonso.

Now it worked. Thank you and you can close the ticket.