2017-08-23 1 views
0

J'ai quelques données compliquées que je voudrais visualiser.Gnuplot multiaxis colormap

Pour chaque point x et y dans une grille uniforme, il y a deux nombres supplémentaires, f (x, y) et g (x, y) et chacun va entre 0 et 1. Je voudrais visualiser ces données afin que les deux sont affichés. Comme ils sont entre 0 et 1, je pensais colorier avec une roue de couleur et assigner f au rouge et g au bleu ou quelque chose de cette nature.

Je pourrais créer directement une image en convertissant les valeurs de pixels en une image, mais l'image serait de 50000x100 pixels. Donc, la portée de gnuplot, l'interpolation, et bien sûr le contrôle des axes/tics seraient les meilleurs choix. Inutile de réinventer la roue [couleur] s'il existe déjà un moyen de le faire.

Répondre

1

Si les valeurs des fonctions f et g sont stockées dans les colonnes 3 et 4 alors quelque chose comme cela devrait fonctionner:

map(x) = floor(x*255.99999) # map [0,1] to (0, 1, .. , 255) 
c(f,g) = 65536*map(f) + map(g) 
plot "data.dat" using 1:2:(c($3,$4)) with points linecolor rgb variable 

Voir help rgbcolor variable.

+0

rgb variable est définitivement ce que je cherchais. Il semble que vous pourriez facilement ajouter une troisième variable dans le canal vert avec cette méthode. –