Bien que la réponse de @ whuber fournisse exactement ce que vous avez demandé, je tiens à vous avertir que ce que vous demandez n'est peut-être pas le meilleur moyen de représenter visuellement vos données, pour deux raisons.
- Les téléspectateurs supposeront naturellement que les couleurs sont uniformément réparties par valeur (profondeur) plutôt que par rang. Vous devrez travailler dur avec votre étiquetage pour que le cerveau cognitif du spectateur annule ce que leur système visuel leur dit.
- Le classement n'est peut-être pas plus important pour vos spectateurs que la profondeur réelle. S'il y a beaucoup de valeurs entre 0 et 1, par exemple, est-ce important sur le plan analytique comment ces valeurs sont distribuées?
Vous connaissez bien votre application, bien sûr, donc je ne peux pas dire quelle est la bonne réponse, mais voici quelques alternatives utilisant des données générées par
r = Sqrt((:x * :x + :y * :y) / 400);
t = ArcTan(:y, :x);
z = (12 * Exp(-r * r * 3)) * Abs(Sin(2 * Pi() * r) - r * Cos(3 * t))
Les données vont de 0 à 12,5 avec la distribution suivante:
Un tracé de surface en 3D montre quelques pics, un creux peu profond et un petit monticule:
Voyons maintenant quelques tracés de contour 2D.
Cartographie linéaire linéaire des couleurs, qui manque les plus petites fonctionnalités comme vous l'avez remarqué:
Si la variation dans les zones profondes n'est pas importante, le découpage du mappage de couleurs permet plus de couleurs pour les petites profondeurs tout en conservant un mappage linéaire dans cette zone:
À titre de comparaison, voici la vue par couleur (désolé que ma légende soit dans les valeurs de classement plutôt que dans les valeurs de profondeur):
Je ne sais pas si c'est une bonne représentation pour votre application ou non. Le détail dans le creux peu profond est exagéré. Un mappage de couleurs de journal est similaire et présente les avantages d'avoir une interprétation réelle et peut être cohérent entre les ensembles de données, mais le journal n'est toujours pas perceptif (encore des excuses pour la légende):
Enfin, voici une approche dans une direction légèrement différente qui peut être combinée avec l'une des options ci-dessus pour augmenter la résolution: un mappage de couleurs multicolore. Dans ce cas, la coloration est linéaire et écrêtée:
Post-finalement, une approche que mon logiciel ne permet pas facilement est d'utiliser un mappage de couleurs linéaire par morceaux à plusieurs teintes, que j'ai vu dans certaines cartes d'élévation. Par exemple, les basses altitudes sont des verts par incréments de 50 pieds, les altitudes moyennes sont des bronzages par incréments de 200 pieds et les hautes sont des gris par incréments de 800 pieds.
Conclusion : il est préférable que le cerveau du spectateur travaille avec votre système de perception visuelle plutôt que contre.