2011-08-01 4 views
0

J'ai créé un script PHP pour créer et exécuter un script gnuplot pour générer des fichiers .eps. Ce sont des graphes différents, avec des axes et des valeurs différents, mais les spécifications de taille restent statiques.Script Gnuplot générant deux tailles de graphe différentes

J'espère que quelqu'un avec beaucoup d'expérience gnuplot peut me dire pourquoi les graphes générés ne restent pas de la même taille, même avec un réglage délibéré de ses paramètres de taille.

#!/usr/bin/gnuplot 
set terminal postscript enhanced color font "/usr/share/fonts/DejaVuSans-Bold" 10 
set size ratio 0.72 
set output '/.../A.2.1.eps' 
set grid 

set key center bot 
set key out vertical 
set key horizontal center 
set key box 

set style line 1 linetype 1 linecolor rgb "red" linewidth 2.000 pointtype 6 pointsize default 
set style line 3 linetype 1 linecolor rgb "#DAA520" linewidth 2.000 pointtype 6 pointsize default 
set style line 4 linetype 1 linecolor rgb "#006400" linewidth 2.000 pointtype 6 pointsize default 
set style line 6 linetype 1 linecolor rgb "blue" linewidth 2.000 pointtype 6 pointsize default 

set multiplot 
set palette model RGB functions 0.8+gray/3, 0.8+gray/3, 0.8+gray/3 
set pm3d map 
set isosample 100,100 

unset colorbox 
unset border 
unset xtics 
unset ytics 
set nokey 
set nolabel 
set size 1.165,1.2 
set origin -0.045 ,-0.072 

splot y t ' ' 

set title "SECTION A.2.1 TEST RESULTS" 
set key box 
set key bottom center 
set y2tics 0 , 800 
set ytics nomirror 
set xtics nomirror 

set border 
set xtics("300" 0 , "600" 1 , "900" 2 , "1200" 3 , "1600" 4 , "2000" 5 , "2400" 6 , "2800" 7 , "3200" 8 , "3600" 9 , "4000" 10 , "4500" 11 , "5500" 12 , "6500" 13 , "7500" 14 , "8500" 15) 
set ytics 0 , 11000 

set size 1,1 
set xtics out offset -1,-1.5 
set xtics rotate by 45 

unset origin  

set x2range [ 0 : 0 ] 

set xlabel "Loop Length, 26AWG(ft)" 0,0.8 

set ylabel "Downstream Data Rate (kbps)" 
set y2label "Upstream Data Rate (kbps)" 
set xrange [ 0 : 15 ] noreverse nowriteback 
set yrange [ 0 : 55000 ] noreverse nowriteback 
set y2range[ 0 : 8000 ] noreverse nowriteback 
set bmargin 7 

plot "EDS_A.2.1.txt" axes x1y1 ls 4 title 'Expected Downstream Rate' with linespoints, \ 
"DS_A.2.1.txt" axes x1y1 ls 1 title 'Measured Downstream Rate' with linespoints, \ 
\ 
"EUS_A.2.1.txt" axes x1y2 ls 6 title 'Expected Upstream Rate' with linespoints, \ 
"US_A.2.1.txt" axes x1y2 ls 3 title 'Measured Upstream Rate' with linespoints 

unset multiplot 

Le code précédent se rapporte à ce graphique: http://i52.tinypic.com/34qu6c0.png

considérant que ce code:

#!/usr/bin/gnuplot 
set terminal postscript enhanced color font "/usr/share/fonts/DejaVuSans-Bold" 10 
set size ratio 0.72 
set output '/.../A.2.2.eps' 
set grid 

set key center bot 
set key out vertical 
set key horizontal center 
set key box 

set style line 1 linetype 1 linecolor rgb "red" linewidth 2.000 pointtype 6 pointsize default 
set style line 3 linetype 1 linecolor rgb "#DAA520" linewidth 2.000 pointtype 6 pointsize default 
set style line 4 linetype 1 linecolor rgb "#006400" linewidth 2.000 pointtype 6 pointsize default 
set style line 6 linetype 1 linecolor rgb "blue" linewidth 2.000 pointtype 6 pointsize default 

set multiplot 
set palette model RGB functions 0.8+gray/3, 0.8+gray/3, 0.8+gray/3 
set pm3d map 
set isosample 100,100 

unset colorbox 
unset border 
unset xtics 
unset ytics 
set nokey 
set nolabel 
set size 1.165,1.2 
set origin -0.045 ,-0.072 

splot y t ' ' 

set title "SECTION A.2.2 TEST RESULTS" 
set key box 
set key bottom center 
set y2tics 0 , 850 
set ytics nomirror 
set xtics nomirror 

set border 
set xtics("300" 0 , "600" 1 , "900" 2 , "1200" 3 , "2000" 4 , "2800" 5 , "3200" 6 , "4000" 7 , "4500" 8 , "5500" 9 , "6500" 10 , "7500" 11) 
set ytics 0 , 12000 

set size 1,1 
set xtics out offset -1,-1.5 
set xtics rotate by 45 

unset origin  
set x2tics("20" 0 , "100" 1 , "200" 2 , "50" 3 , "100" 4 , "100" 5 , "200" 6 , "100" 7 , "50" 8 , "100" 9 , "100" 10 , "200" 11) 
set x2range [ 0 : 11 ] 

set xlabel "Loop Length, 26AWG(ft)" 0,0.8 
set x2label "Bridge Tap Length, 24AWG (ft)" 0,0.8 
set ylabel "Downstream Data Rate (kbps)" 
set y2label "Upstream Data Rate (kbps)" 
set xrange [ 0 : 11 ] noreverse nowriteback 
set yrange [ 0 : 60000 ] noreverse nowriteback 
set y2range[ 0 : 8500 ] noreverse nowriteback 
set bmargin 7 

plot "EDS_A.2.2.txt" axes x1y1 ls 4 title 'Expected Downstream Rate' with linespoints, \ 
"DS_A.2.2.txt" axes x1y1 ls 1 title 'Measured Downstream Rate' with linespoints, \ 
\ 
"EUS_A.2.2.txt" axes x1y2 ls 6 title 'Expected Upstream Rate' with linespoints, \ 
"US_A.2.2.txt" axes x1y2 ls 3 title 'Measured Upstream Rate' with linespoints 

unset multiplot 

se rapporte à ce graphique: http://i53.tinypic.com/2a7zrci.png

Comme vous pouvez le voir, les paramètres de taille sont le même; il y a plus de points les uns sur les autres, mais je ne crois pas que le graphique devrait diminuer à cause de cela. Je l'ai réglé manuellement, comme je l'ai déjà dit.

Pardonnez les pannes sur les graphiques; informations potentiellement sensibles et toutes ces bonnes choses.

Edit: J'ai ajouté la ligne taille du terminal postscript mis 26cm, 18cm comme cela a été suggéré, et alors qu'il ne casse rien, il n'a pas résolu les contradictions étranges que je rencontrais.

+0

Une façon de définir le dégradé pour remplir l'arrière-plan en fonction de la taille fonctionnerait également. – Joshua

+0

Vous ne pouvez pas utiliser les mêmes étiquettes et deux titres sur les deux graphiques? – whoplisp

+0

Veuillez définir un exemple minimal afin que d'autres puissent reproduire l'erreur que vous rencontrez. – Woltan

Répondre

0

Je ne pouvais pas reproduire vos différentes tailles. Peut-être que vous voulez poster des exemples minimaux de votre problème avec des données pour que d'autres puissent reproduire votre problème.

Cependant, pour le terminal postscript vous pouvez définir explicitement la taille souhaitée de votre terminal comme par exemple:

set terminal postscript enhanced color 
set terminal postscript size 10cm, 12cm 

Peut-être que cela vous aidera à générer des parcelles qui ont la même taille.

+0

cela a bien fonctionné! Merci – Joshua

+0

J'ai menti, ça n'a pas fonctionné>. < – Joshua

Questions connexes