IT

gnuplot-hjælp

25. september 2007 af /Anders (Slettet)
jeg er en total nybegynder i gnuplot, har ca. brugt det i to dage. men jeg skal lave en aflevering med grafer i og har fået at vide at gnuplot er et rigtig godt program.

hvordan plotter jeg flere funktioner ind i det samme koordinatsystem med de samme akser?
hvis jeg fx plotter x**2 og 1/5*x**3 kommer der to skalaer på x og y-aksen og jeg vil gerne have at skalaen skal være den samme. hvordan gør jeg det?

håber på hurtigt svar, skal aflevere i morgen.

Brugbart svar (2)

Svar #1
26. september 2007 af Riemann

prøv følgende:

set xrange [0:3]
set yrange [0:3]
f(x)= x**2
g(x)= 1/5*x**3
plot f(x) title 'f',g(x) title 'g'

(modificer selv så et kommer til at passe med xrange og yrange)

hvis du vil have gemt en png-fil kan du køre følgende kommandoer eterfølgene:

set term png
set output 'output.png'
replot
unset output
set term windows

(det gælder kun hvis du bruger windows. Hvis du bruger linux skulle den sidste kommando være 'set term x11')

Svar #2
26. september 2007 af /Anders (Slettet)

lækkert, men jeg skulle aflevere kl. 10, så jeg brugte en andet program. ved du hvorfor den ændrer akserne?

en anden ting: hvordan plotter jeg et punkt, fx (4;5)? jeg har skrevet det ind i en dat fil, men det må kunne gøres lettere?

Brugbart svar (2)

Svar #3
26. september 2007 af Riemann

"set xrange [0:3]" gør at xrange bliver fra nul til tre (dvs., intervallet for førsteaksen). Tilsvarende for y-aksen.

Jeg ved ikke hvordan man plotter enkelt punkter uden at bruge datafiler. Men prøv evt at se om du kan finde noget her (her kan man finde meget):

http://t16web.lanl.gov/Kawano/gnuplot/index-e.html

Svar #4
26. september 2007 af /Anders (Slettet)

jeg mente: hvorfor ændrer den akserne som standard når man bruger multiplot?


jeg vil gerne plotte et koordinat + en funktion, fx (0;1/4) og f(x)=x**2. er der nogen smart måde at gøre det på? kan ikke rigtig finde noget i linket.
det tætteste jeg kunne komme på en løsning er brug af multiplot eftersom jeg ikke kan definere et punkt som en funktion(?). se linket. det bliver ikke godt, man kan for det første ikke set term png, men heller ikke sætte xrange ordentligt. jeg skrev
--
set multiplot
set xrange [-10:10]
plot x**2
plot 'fokus.dat'
--
fokus.dat indeholder
0 0.25

er der nogen måde at gøre det ordentlig på?


http://peecee.dk/?id=69872

Brugbart svar (2)

Svar #5
26. september 2007 af Riemann

kan du ikke bare skrive:

plot x**2, 'fokus.dat'

Så slipper du for multiplot...


Svar #6
26. september 2007 af /Anders (Slettet)

gah... tak for hjælpen. det virker perfekt.

Brugbart svar (2)

Svar #7
26. september 2007 af Riemann

godt.. i øvrigt..

Grunden til at gnuplot skalerer akserne automatisk er, at det ofte er meget smart, hvis man eksempelvis vil plotte datapunkter, der alle ligger i et område meget langt fra centrum af koordinatsystemet. - Så slipper man for selv at skulle finde sin xrange og yrange ud fra sine målepunkter (hvis man har 1000 målepunkter kan det godt være en lidt besværlig ting at bestemme selv).

Svar #8
26. september 2007 af /Anders (Slettet)

ok. jeg er stadigvæk i gang med at vænne mig til det. brugte vist 2 timer i går på at få grafen vist korrekt, men droppede det og lavede en skitse i hånden.

Brugbart svar (2)

Svar #9
26. september 2007 af Riemann

det tager lidt tid at lære gnuplot. Men til gengæld er det så ret effektivt når man kan det!

Ofte kan man finde det man skal bruge i linket som jeg sendte i #3..

Skriv et svar til: gnuplot-hjælp

Du skal være logget ind, for at skrive et svar til dette spørgsmål. Klik her for at logge ind.
Har du ikke en bruger på Studieportalen.dk? Klik her for at oprette en bruger.