void tset_axis_format (strid, write_format)
Pint strid; Tformat *write_format
typedef enum {
TFORMAT_AUTO,
TFORMAT_FLOAT,
TFORMAT_INT
} Tformat_type;
typedef strcut {
Tformat_type type;
union {
struct {
Pint width; /* obsolette */
Pint num_decimals;
Pint ten_power;
} float_format;
struct {
Pint width; /* obsolette */
Pint ten_power;
} int_format;
} description;
} Tformat ;
Si write_format->type = TFORMAT_AUTO
Le format d'écriture est choisi au mieux en fonction des valeurs aux deux extrémités de l'axe. Toute décimale superflue, ainsi que tout zéro superflu après une virgule seront supprimés. S'il n'y a aucune décimale nécessaire après la virgule, les graduations seront écrites sous un format entier. D'une façon générale, le format automatique privilégie l'aspect esthétique des graduations sur l'axe, et minimise le nombre de chiffres de ces graduations. Ces dernières seront systèmatiquement comprises entre 0.01 et 1000. Si les bornes de l'axe dépasse cet intervalle, une puissance de 10 (représentant un facteur multiplicatif) sera reporté à l'extrémité de l'axe, à côté de la flèche. La puissance de 10 est toujours un multiple de 3 (positif ou négatif).
Si write_format->type= TFORMAT_FLOAT
float_format.num_decimals représente le nombre de décimales après la virgule, et float_format.ten_power la puissance de 10 choisie. Néanmoins, cette puissance ne sera pas appliquée pour chacune des graduations mais sera seulement reportée à l'extrémité de l'axe à côté de la flèche et représentera un facteur multiplicatif.
Si write_format->type = TFORMAT_INT
Pour le format entier, il est aussi possible de reporter une puissance de 10 int_format.ten_power. De même, cette puissance ne sera pas appliquée pour chacune des graduations mais sera seulement reportée à l'extrémité de l'axe à côté de la flèche et représentera un facteur multiplicatif.