gnuplot dolt betu

Fórumok

Udv!

Gnuplotban szuksegem lenne dolt betus szerkesztesre (pl tengelyeken fizikai parameterek). Ezt meg tudom oldani ha postscriptre allitom a kimentetet ({/Helvetica-Italic ...}), viszont a ps helyett szeretnem jpg-ben elmenteni a fuggvenyeket. Ebben a formatumban viszont nem tudom dolt betuvel szedni a szoveget. Tud valaki megoldast?

Koszi elore is.

Dani

Hozzászólások

Helló!

Én a következő módon szoktam csinálni: A gnuplot pslatex output-ját használom, ekkor egy PS-t tartalmazó LaTeX állomány jön létre, ami köré már csak a normál LaTeX keretet kell megírni, abból egy PS-t létrehozni, a PS-ből pedig mondjuk a convert-tel már azt csinálsz, amit akarsz (akár jpeg-et is). Ja, a gnuplot-nak bármilyen LaTeX szekvenciát be lehet adni, amik a pslatex output-tal frankón működnek is (tehát nem érdemes a ps output korlátozott lehetőségeit használni). Mindjárt kiderítem, hogy kódokat hogyan lehet csatolni, s akkor írok példát is.
----------
Were antimatter present, its detection would be quite simple and straightforward. The most rudimentary detector suffices: simply place it down and wait. If the detector disappears, antimatter has been discovered - get out fast!

Na, szóval a következőkkel különböző hőmérsékletekhez tartozó Planck-görbéket lehet rajzolni:

A black-body-radiation-gnuplot.plt állomány:


h = 6.63e-34
c = 3.0e8
k = 1.38e-23
pi = 3.14159265
scale_y = 1.0e16

T1 = 3.0e3
T2 = 2.5e3
T3 = 2.0e3
T4 = 1.5e3
T5 = 1.0e3

set term pslatex
set output "black-body-radiation-gnuplot.tex"

set xlabel '$\nu \,\, [10^{14} \,\, \mbox{Hz}]$'
set ylabel '$u_\nu \,\, [10^{-14} \,\, \mbox{J}/\mbox{m}^3\mbox{Hz}]$'

set dummy nu
set xrange [0.0:7.5e14]
set format x "%0.1t"
set xtics 0.0,2.5e14,7.5e14
set mxtics 5
set yrange [0.0:2.3]
set format y "%3.1f"
set ytics 0.0,1.0,3.0
set mytics 5

set origin 0.0,0.0
set size 2.2,2.2
set size ratio 0.7

set label 1 '$3\,000 \,\, \mbox{K}$' at 2.0e14,2.15
set label 2 '$2\,500 \,\, \mbox{K}$' at 2.5e14,0.87
set label 3 '$2\,000 \,\, \mbox{K}$' at 2.2e14,0.40
set label 4 '$1\,500 \,\, \mbox{K}$' at 1.5e14,0.22
set label 5 '$1\,000 \,\, \mbox{K}$' at 1.0e14,0.10

plot scale_y*(8.0*pi*h/c**3)*(nu**3/(exp(h*nu/(k*T1))-1.0)) notitle with lines 1, \
     scale_y*(8.0*pi*h/c**3)*(nu**3/(exp(h*nu/(k*T2))-1.0)) notitle with lines 1, \
     scale_y*(8.0*pi*h/c**3)*(nu**3/(exp(h*nu/(k*T3))-1.0)) notitle with lines 1, \
     scale_y*(8.0*pi*h/c**3)*(nu**3/(exp(h*nu/(k*T4))-1.0)) notitle with lines 1, \
     scale_y*(8.0*pi*h/c**3)*(nu**3/(exp(h*nu/(k*T5))-1.0)) notitle with lines 1

A black-body-radiation.tex állomány:


\documentclass[12pt]{article}

\usepackage{t1enc}
\usepackage[latin2]{inputenc}
\usepackage[magyar]{babel}
\usepackage{lscape}

\pagestyle{empty}

\begin{document}

\begin{landscape}
\begin{figure}
\centering{
\input{black-body-radiation-gnuplot.tex}
}
\end{figure}
\end{landscape}

\end{document}

Használat:

$ cat black-body-radiation-gnuplot.plt | gnuplot # eredmény: black-body-radiation-gnuplot.tex
$ latex black-body-radiation; dvips black-body-radiation # eredmény: black-body-radiation.ps

Ahogyan az előzőekben mondtam, a postscript állományból például az ImageMagick convert-tel bármit, akár jpg állományt is elő tudsz állítani.

Remélem, segített! Üdv!

----------
Were antimatter present, its detection would be quite simple and straightforward. The most rudimentary detector suffices: simply place it down and wait. If the detector disappears, antimatter has been discovered - get out fast!

Ez nagyon profi. Koszonom!
Mindenesetre ha van valaki aki tudja hogy lehet kikerulni a konvertalast, akkor ne tartsa vissza. Pusztan annyibol fontos, hogy ne ketszer annyi fajllal legyen tele egy konyvtar, mire vegzek a jegyzokonyvvel :)
D.

--------------------------
Debian etch, 2.6.18-3

Ha jól szervezed, akkor ez nem fog gondot okozni, s szerintem ennél rugalmasabb, kompromisszum-mentesebb módszert (már ha a gnuplot-ot preferálod) nem fogsz találni. De, ha valaki tud jobbat, akkor árulja el nekem is :-)
----------
Were antimatter present, its detection would be quite simple and straightforward. The most rudimentary detector suffices: simply place it down and wait. If the detector disappears, antimatter has been discovered - get out fast!

Van linux alá is egy pár grafikus, klikkelgetős plotolóprogram (pl. acegr/xmgr, gnuplot-hoz is van valami frontend), szóval nem feltőtlenül muszáj origin-t varezolni.
A gnuplot-os megoldás nagy előnye, hogy pillanatok alatt újrafuttatható, ha találsz egy hibás képletet valamelyik illesztendő függvényben, vagy egy elgépelt adatpontot (olyan méréseknél, ahol leolvasod, füzetbe leírod, otthon begépeled; pár éve, a laborgyakokon ELTE fizikus szakon még volt ilyen), és előbb-utóbb cikkíráshoz úgyis gnuplotot fogsz használni.
Az origin előnye ezzel szemben legfeljebb annyi, hogy nem kell megtanulni, szinte magától megy (és vannak benne olyan barom funkciók, hogy a grafikonon megfogod a kilógó adatpontot, és rácsalod a görbére; ennél sokkal jobb, ha a gnuplotnál a sort ki#-olod, és szépen leírod a jegyzőkönyvben, hogy az a pont jól láthatóan leolvasási hiba, kihagytam, vagy igazából az a tisztességes, hogy ha nem tudod, mi okozta, akkor vagy leméred azt a pontot újra (ha van a mérésnél laptopod, és rögtön látod, akkor nem gond), vagy bennemarad, és a gnuplot is nagyobb hibát ad meg a végén az illesztéseknél).

A gnuplot-os megoldás nagy előnye, hogy pillanatok alatt újrafuttatható, ha találsz egy hibás képletet valamelyik illesztendő függvényben, vagy egy elgépelt adatpontot

Ez teljes mertekben igaz.

olyan méréseknél, ahol leolvasod, füzetbe leírod, otthon begépeled; pár éve, a laborgyakokon ELTE fizikus szakon még volt ilyen

ELTE vegyesz szakon ilyenekkel szivatjak halalra a diaksagot. Es ez ugy tunik egy veget nem ero folyamat. :(

Az origin előnye ezzel szemben legfeljebb annyi, hogy nem kell megtanulni, szinte magától megy

En meg kiegeszitenem annyival, hogy az "informacioaramlas" miatt is az origin fele billen a merleg nyelve. :) Bar ettol fuggetlenul ha nem ejszaka ulok neki, a gnuplotot szivesebben hasznalom.

Udv
Dani
--------------------------
Debian etch, 2.6.18-3

Talakoztam olyan csillagasz sraccal, aki baromi sok adaton relative bonyolult analizist gnuplottal csinalt ... (kicst ez is tulzas ...)
Talakoztam olyan elmeletifizikus sraccal, aki detto ...

Azok a klittyelgetos dolgok ott fulladnak be (fulladtak be nekem nem hozzaertonek), mikor nem egy adatsort kellet vegigfuttatni rajtuk (ugye az origint is kisse pazarlas lenne mindossze arra hasznalni, hogy a grafikonjaink vegso kinezeset igazgassuk vele ... ) akkor a klittyelgetos mivoltuk rogton hatrannya valt ...

Mony'nyuk a meg az origin c++ iterface-jerol el tudom kepzelni, hogy meg lehet irni benne egy komplexebb analizist (a NAG-rol amugy is jokat hallok ... kar hogy zart forraskodu) tobb adatsorra ..., de amit en hasznaltam hasonlovat (sigmaplot) azzal _en_ nem tudtam ilyet csinalni ... repult is ablakon ... (ceg fizette, ceg visszavette ...)

Azota is ha gyors adatnezegetesre/manipulaciora van szokseg akkor graph/gnuplot, ha komolyabb munkara akkor viszont root ...

Az ott leírom-otthon begépelem-mérésekhez, ha nem kell az ott leírt adatokat aláíratni, mellékelni, akkor érdemes venni 10-20 ezerért egy kb. 486-os laptopot. Azon elmegy a win3.1 és az alatt a gnuplot. Baromi sok időt meg lehet ezzel spórolni, és ráadásul közben látod, ha valami nem stimmel, újra tudod mérni.
Annak idején nekem is volt erre egy Toshiba Satellite 486sx33 laptopom :-)

Az információáramlással meg érdemes vigyázni. Egyrészt vannak ügyes trükkök, ahoy le lehet buktatni a másolt jegyzőkönyveket, másrészt jó sok pocsék jegyzőkönyv szokott keringeni.

A jegyzokonyveket ala kell iratni es gyakran nyomtatvanyra kell irni a meres menetet.

Informacioaramlas: Mivel nincs ket egyforma meressor, a jegyzokonyv sem lehet ugyanaz, de mankonak mindenkeppen jo.

Bar ezek mar igazan egyeni problemak, nem annyira a programhoz kapcsolodo kerdesek :)

Kellemes napot
D.

--------------------------
Debian etch, 2.6.18-3

Nem ismeritek az univerzális labor faktort? Ez az, ami minden mérési eredményt a "helyes" eredménnyé szoroz :-)
----------
Were antimatter present, its detection would be quite simple and straightforward. The most rudimentary detector suffices: simply place it down and wait. If the detector disappears, antimatter has been discovered - get out fast!