2017-04-26 1 views
0

J'ai un fichier de données à trois colonnes généré à partir d'un script python après une simulation. Il a deux paramètres dans les deux premières colonnes, et la valeur d'une fonction dans le troisième. J'ai lu que la colonne de données devrait être dans un format spécifique pour entrer dans pm3d dans gnuplot. Existe-t-il un raccourci pour formater le fichier de données dans le format pm3d? (une ligne vide après chaque changement de valeur x). Bien que mes points de données soient espacés uniformément, les données sont toutes mélangées, donc je trouve le formatage un peu difficile. S'il vous plaît aider.Formatage du fichier de données à tracer sous forme de carte pm3d dans gnuplot

fichier Exemple

1 2 3 
2 6 5 
1 1 8 
2 5 3 

(fichier d'origine a> 40000 lignes)

Répondre

1

En effet, comme le mentionne Gnuplot FAQ en 3.9, il faut une ligne blanche après chaque changement de la coordonnée x. Il recommande même un script gawk pour effectuer cette "transformation". Si vos données sont, comme vous le dites, mélangées, vous pourriez vouloir trier d'abord et ensuite appliquer le script mentionné.

En supposant que le script gawk addblanks.awk contient:

/^[[:blank:]]*#/ {next} # ignore comments (lines starting with #) 
NF < 3 {next} # ignore lines which don't have at least 3 columns 
$1 != prev {printf "\n"; prev=$1} # print blank line 
{print} # print the line 

et votre fichier de données est, par exemple, input.dat, puis

sort -k1,1g -k2,2g input.dat | gawk -f addblanks.awk 

produit

1 1 8 
1 2 3 

2 5 3 
2 6 5