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 - Marks do not appear for all countries on the map graph
Summary: Marks do not appear for all countries on the map graph
Status: RESOLVED NOTABUG
Alias: None
Product: VCL TeeChart
Classification: Unclassified
Component: Series (show other bugs)
Version: 27.190530
Hardware: PC Windows
: Highest critical
Target Milestone: ---
Assignee: Steema Issue Manager
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-01-07 09:10 EST by alexandre
Modified: 2021-01-18 12:04 EST (History)
2 users (show)

See Also:
Chart Series: ---
Delphi / C++ Builder RAD IDE Version: RAD 10.3 Rio


Attachments
Map chart. (57.93 KB, image/png)
2021-01-07 09:10 EST, alexandre
Details

Note You need to log in before you can comment on or make changes to this bug.
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.