2011-04-16 2 views
1

Je contiennent des données comme:Puis-je utiliser la colonne 1 comme clé-colonne et x comme numéro de point de données par clé?

A 1 
B 2 
C 1 
D 3 
A 4 
B 3 
C 2 
D 1 

Lorsque la première colonne répétera un petit nombre de noms key. Mais c'est un nombre variable et les valeurs peuvent changer d'une course à l'autre.

Y at-il une définition plot je peux utiliser que vous utiliserez la première colonne comme ils key, tracer la deuxième colonne comme y et l'intrigue x du nombre de points de données par key?

Répondre

1

AFAIK ce n'est pas possible. Gnuplot peut faire une sorte d'arithmétique mais pas de ce genre. Soit vous modifiez le programme qui exporte ce type de format de données vers quelque chose que gnuplot peut gérer, soit vous écrivez un petit script qui fait le même tour pour vous.

Si je vous ai bien compris ce script python devrait le faire convertir les données en quelque chose gnuplot peut gérer:

#data = <read your data file> 
Content = data.split("\n") 
Dict = dict() 
for l in Content: 
    Line = l.split(" ") 
    if not Line[0] in Dict: 
     Dict[Line[0]] = int(Line[1]) 
    else: 
     Dict[Line[0]] += int(Line[1]) 

file = open("Output.data", "w") 
for (key, value) in Dict.items(): 
    file.write(key + " " + str(value) + "\n") 
file.close() 
+0

Merci de confirmer mon hypothèse et pour le script. J'ai déjà quelques processus en place pour faire la même chose mais j'espérais que quelqu'un soulignerait quelque chose que j'ai manqué dans les docs :) – nix

Questions connexes