2017-07-27 4 views
-1

J'essaye de créer un heatmap à partir d'un fichier .txt.Créer une carte de chaleur en utilisant gnuplot à partir d'une matrice écrite sur un. fichier txt

Si cette matrice est prise à partir d'une matrice de python data et écrit sur fichier en utilisant numpy.savetxt(file,data), lorsque vous utilisez gnuplot pour créer la heatmap avec la commande: plot 'heat.txt' matrix with image je reçois une carte tout noir sans avoir une erreur de gnuplot.

Si je crée à la place la matrice en la remplissant directement avec data=numpy.matrix('...;...') et l'enregistre ensuite avec numpy.savetxt(file,data), en utilisant gnuplot avec la même commande cela fonctionne très bien.

Malheureusement, il n'est pas possible de remplir la matrice dont j'ai besoin manuellement en raison de ses dimensions.

Nous vous remercions à l'avance

...

heat.txt avec Google Drive: https://drive.google.com/drive/folders/0B0CY3UaQmc3AVzhfUVY2dDhpbjg?usp=sharing

+0

Pouvez-vous poster le contenu de celui fichier 'chaleur. txt' que gnuplot ne semble pas pouvoir tracer? Gnuplot crée-t-il un message d'erreur ou un avertissement lorsque vous essayez de tracer? – user8153

+0

J'ai ajouté le fichier –

Répondre

0

La majorité de vos données est dans la fourchette comprise entre 0,97 et 1,3. Cependant, la dernière colonne de votre fichier de données est tout 0, et l'avant-dernière colonne est tout 400. Pour cette raison gnuplot utilise la plage [0,400] pour votre intrigue, et vous ne pouvez pas voir de signal de vos données.

Vous devez soit quitter les deux dernières colonnes de votre parcelle, ou définir la plage manuellement:

set cbrange [0.97:1.3] 
plot "heat.txt" matrix w image 

donne

enter image description here

+0

Merci beaucoup –