2011-11-18 7 views
4

J'utilise Gnuplot pour tracer un graphique. Dans le graphique j'ai dessiné trois courbes lisses appartenant à trois ensembles de données.Tracer des courbes avec différents styles de points dans Gnuplot

Actuellement j'utilise le script Gnuplot suivant.

reset 
set terminal png 
set xlabel "Square matrix size" 

set ylabel "Time (in milliseconds)" 
set yrange [0:750] 

set title "Lower Triangular Matrix" 
set key reverse Left outside 
set grid 
set output 'matrixlt.png' 
set style data linespoints 
plot "matrixlowertriangle.dat" using 1:2 lt 1 lw 2 smooth bezier title 'MatPro', \ 
    "matrixlowertriangle.dat" using 1:3 lt 2 lw 2 smooth bezier title 'C#' , \ 
    "matrixlowertriangle.dat" using 1:4 lt 3 lw 2 smooth bezier title 'C++' 

Avec le script ci-dessus, j'obtiens le graphique suivant. enter image description here

Maintenant, je veux dessiner chaque point appartenant à la même courbe en utilisant un style de point unique. (Par exemple, chaque point appartenant à C# utilisant un point de type et les points de données C++ dans un style différent.)

J'ai essayé quelques tutoriels, mais toujours pas de chance. Quelqu'un peut-il m'aider à accomplir cette tâche?

Répondre

7

Je n'ai pas vos données si je fait un peu vers le haut (il est toujours utile d'être utile si un ensemble de données maquette utile est donnée ...):

0 0 0 0 
200 1000 1200 1500 
400 4000 7000 9000 
600 7000 15000 18000 
800 12000 23000 25000 
1000 18000 33000 40000 

Sur la base de votre code, j'ai essayé

reset 
set terminal png 
set xlabel "Square matrix size" 

set ylabel "Time (in milliseconds)" 
set xrange [0:1200] 
set yrange [0:50000] 


set title "Lower Triangular Matrix" 
set key reverse Left outside 
set grid 
set output 'matrixlt.png' 
set style data linespoints 
plot "matrixlowertriangle.dat" using 1:2 lt 1 lw 2 smooth bezier title 'MatPro', \ 
    "matrixlowertriangle.dat" using 1:3 lt 2 lw 2 smooth bezier title 'C#' , \ 
    "matrixlowertriangle.dat" using 1:4 lt 3 lw 2 smooth bezier title 'C++' , \ 
    "matrixlowertriangle.dat" using 1:2 with points title "", \ 
    "matrixlowertriangle.dat" using 1:3 with points title "", \ 
    "matrixlowertriangle.dat" using 1:4 with points title "" 

et obtenu

this graph here

Est-ce plus proche de ce que y tu veux?

2

Avez-vous essayé de fournir pointtype X (où X est un nombre) aux arguments plot?

+0

oui j'ai essayé mais n'ai pas obtenu ce que je veux –

+0

Je pense qu'il est préférable que vous éditiez votre question et que vous ajoutiez quelques infos sur votre build gnuplot – ziu

0

Je pense que votre problème est associé à l'utilisation du terminal PNG. Avez-vous besoin d'utiliser le format PNG? Si vous essayez set terminal postscript enhanced eps color, le script génère des figures avec des types de lignes clairement identifiables.

Par exemple, l'exécution du script simple suivant:

set terminal postscript enhanced eps color 
set yrange [0:10] 
set grid 
set output 'test.eps' 
set title 'EPS demonstration' 
set style data linespoints 

plot x*2 lt 1 lw 2 title 'A', \ 
    x**2 lt 2 lw 2 title 'B' 

donne deux lignes avec différents types de lignes.

Questions connexes