I have this DF: https://apps.garmin.com/en-US/apps/7c83d402-4b68-4f0a-b167-7139788a19b3
It records some fit fields. 2 of them are charts.
In the connect website they are displayed in the correct order: the 2 charts are after the default charts and their order corresponds to sortOrder in the xml.
However in GCM Android the 2 charts are "randomly" ordered, and even more annoyingly they're "mixed" with the default charts:
1.Pace
2. fitField id:9 (sortOrder:9)
3. HR
4. Performance condition
5. Training effect
6. Cadence
7. Respiration rate
8. Elevation
9. Temperature
10. fitField id:0 (sortOrder:8)
11. Run/Walk
12. Time in HR zones
An example Run activity: https://connect.garmin.com/modern/activity/9742017684/1
(Garmin: I give you the permission to look at the activity both in web and in GCM)
Also reported here: https://forums.garmin.com/apps-software/mobile-apps-web/f/garmin-connect-mobile-andriod/311039/gcm-displays-ciq-df-s-fit-graphs-in-random-order