2010-11-17 34 views
2

J'ai un ensemble de données qui a deux colonnes délimitées par des tabulations que je trace dans un axe XY simple. La variable indépendante (axe x) est la durée en minutes. Ce que je veux, c'est tracer cela en quelques heures au lieu de minutes. Comment est-ce que j'appliquerais cette mise à l'échelle dans gnuplot en traçant?Comment mettre à l'échelle l'axe dans Gnuplot

Répondre

8

Regardez this question; peut-être que ça va aider.

Dans votre cas, je pense que vous voulez quelque chose comme

set xdata time 
set timefmt "%M" 
set format x "%H:%M" 

Ces commandes indiquent gnuplot que vous fournissez TimeData sous forme de minutes, mais vous voulez les afficher avec des heures et des minutes.

EDIT (voir les commentaires): (en ignorant le temps formatage) Mise à l'échelle de l'axe d'un fichier de données data.dat peut être réalisée comme suit:

plot "data.dat" using ($1/60):2 with lines 

Le $1 est la colonne que vous voulez à l'échelle, que vous manipuler avec des opérations mathématiques. Vous devez généralement entourer l'expression entière entre parenthèses avant de passer à d'autres colonnes.

+0

mon problème est en fait assez simple que cela, je pense. La colonne de durée est déjà dans la forme minute (12.00, 15.00, 20.50 etc.). Ce que je veux, c'est juste pouvoir tracer ceci en augmentant cela de 60 (pendant des heures). – sfactor

+1

Je ne suis pas certain de ce que vous voulez dire. Si vous voulez dire "divisez la colonne x par 60", vous pouvez le faire comme suit: "plot" ./data.dat "using ($ 1/60): 2 avec la ligne Si vous voulez que 74 soit affiché comme 01:14 alors la réponse ci-dessus est ce que vous voulez – Tom