2017-06-22 2 views
1

Création d'un heatmap avec gnuplot, je veux que les étiquettes de tic lues à partir du fichier de données en haut et à droite de la carte thermique, mais le réglage axes x2y2 ne fonctionne pas comme prévu.en utilisant x2y2 axes dans un heatmap avec gnuplot

Exemple de fichier de données:

. sample1 sample2 sample3 
gene1 10 0 17 
gene2 11 2 21 
gene3 9 27 0 

En utilisant

plot "data.csv" matrix rowheaders columnheaders with image

Je reçois ce terrain, ce qui est bien:

enter image description here

Cependant, si je veux avoir les étiquettes de tic sur le x2 et y2 un xes, en utilisant à savoir

unset xtics 
unset ytics 
set x2tics 
set y2tics 
plot "data.csv" matrix rowheaders columnheaders using 1:2:3 axes x2y2 with image 

gnuplot utilise des nombres au lieu de mes étiquettes:

enter image description here

est-il un moyen de fixer les étiquettes tic lues à partir du fichier à l'axe x2 et y2?

Répondre

1

Vous devez définir x2label et y2label:

set x2label "Some label" 
set y2label "Some other label" 
plot sin(x) notitle axes x2y2 

donne

enter image description here

Si vous souhaitez également déplacer les marques tic sur la face supérieure et à droite, vous devez activer pour les axes x2 et y2 et les désactiver pour x et y:

set x2label "Some label" 
set y2label "Some other label" 
unset xtics 
unset ytics 
set x2tics 
set y2tics 
plot sin(x) notitle axes x2y2 

donne

enter image description here

Mise à jour

Merci pour l'édition de la question. Il semble que votre question principale est de savoir si vous pouvez utiliser les étiquettes lues dans le fichier de données x2label et y2label. Je ne suis pas sûr que ce soit possible. il semble que les options rowheaders et columnheaders se réfèrent toujours au premier système de coordonnées. Pour contourner le problème, vous pouvez coller à xlabel/ylabel et les déplacer de l'autre côté du graphique. Cela pourrait nécessiter de jouer avec les marges un peu:

set tmargin 2 
set lmargin 0.5 
set rmargin at screen 0.75 
set colorbox user origin screen 0.88, graph 0 size screen 0.05, graph 1 

set xtics offset 0, graph 1.07 
set ytics offset graph 1.15, 0 

plot "data.csv" matrix rowheaders columnheaders with image 

donne

enter image description here

+0

Malheureusement, cela ne fonctionne pas avec heatmaps. J'ai amélioré ma question pour la rendre plus claire. – migaspar