Restrictions et incompatibilités

La richesse du composant offre de grandes possibilités et une grande variété de graphe, mais elle induit aussi des incompatibilités dont il faudra se prémunir.
Exemples :

  1. Si le type du graphe est Pie (camembert), aucun axe n'est nécessaire. Dans ce cas les axes déclarés sont simplement ignorés

  2. Si on affecte des points OHLC à une série Pie, on n'obtiendra rien de concluant

La règle générale est la suivante : dès que l'on sort du cadre normal de l'utilisation d'un item du graphe, le résultat n'est plus ni prévisible, ni garanti.
Ainsi, et sans être exhaustif, on peut dégager certaines règles de bon fonctionnement :

 

PieChart

 

  • Il faut utiliser une série de type PieSeries (ou DoughnutSeries) et une seule,

  • Il faut créer les points via XmeChartCreatePiePointHmp (pour garantir des points compatibles Techniquement des points créés via XmeChartCreatePolarPointHmp ou XmeChartCreateCartesianPointHmp seront compatibles avec une PieSeries et un PieChart, mais cela reste déconseillé et inutile),

  • Il ne faut aucun axe

  • Les options de zoom, de réticule, ou de trackball sont inopérantes (donc inutiles)

 

 

Graphes Cartésiens

Les graphes cartésiens sont ceux pour lesquels les possibilités sont les plus étendues (en termes de données représentées et de type de représentations)
Le type de l'axe des abscisses pilote une grande partie des entités à manipuler. On retrouvera les principales règles dans le tableau suivant :

Axe des abscisses

Types de séries autorisés

Fonction de création des points

CHART_OPTVAL_AXIS_TYPE_CATEGORICAL

Tous types de séries sauf
PolarSeries et PieSeries

XmeChartCreateCartesianCategoricalPointHmp
XmeChartCreateRangePointHmp
XmeChartCreateCandlestickPointHmp
XmeChartCreateOhlcPointHmp

CHART_OPTVAL_AXIS_TYPE_DATETIME_CATEGORICAL
CHART_OPTVAL_AXIS_TYPE_DATETIME_CONTINUOUS

Tous types de séries sauf
PolarSeries et PieSeries

XmeChartCreateDateTimePointHmp
XmeChartCreateDateTimeRangePointHmp
XmeChartCreateDateTimeCandlestickPointHmp
XmeChartCreateDateTimeOhlcPointHmp

CHART_OPTVAL_AXIS_TYPE_LINEAR
CHART_OPTVAL_AXIS_TYPE_LOGARITHMIC

CHART_OPTVAL_SERIES_TYPE_POINTS
CHART_OPTVAL_SERIES_TYPE_LINE
CHART_OPTVAL_SERIES_TYPE_AREA
CHART_OPTVAL_SERIES_TYPE_SPLINE_AREA
CHART_OPTVAL_SERIES_TYPE_SPLINE_LINE

XmeChartCreateCartesianPointHmp








D'autre part il faut éviter les axes des ordonnées non numériques.
Les fonctions de zoom trackball et réticule sont utilisables en graphe cartésiens

 

 

PolarChart

 

  • Soit on fait un graphe polaire et donc :

    • Il faut des Séries de type 'PolarSeries CHART_OPTVAL_SERIES_TYPE_POLAR_POINTS, CHART_OPTVAL_SERIES_TYPE_POLAR_LINE, CHART_OPTVAL_SERIES_TYPE_POLAR_AREA (pas des RadarSeries ou des séries cartésiennes)

    • Les points doivent être créés via XmeChartCreatePolarPointHmp.

    • Il faut un axe radial numérique Obligatoirement décrit explicitement car l'axe par défaut du PolarChart est un axe radial catégoriel conduisant à un RadarChart.

    • Les options de zoom, trackball et réticule sont inopérantes

  • Soit on veut un RadarChart et il faut :

    • Des séries de types radar CHART_OPTVAL_SERIES_TYPE_RADAR_POINTS, CHART_OPTVAL_SERIES_TYPE_RADAR_LINE, CHART_OPTVAL_SERIES_TYPE_RADAR_AREA

    • Créer les points via XmeChartCreateRadarPointHmp

    • Un axe radial catégoriel (qui peut être celui par défaut)