gnuplot epslatex pdflatex - Abbildungen in sich verschoben

Tabellen und Grafiken erstellen und anordnen


hansmoleman
Forum-Anfänger
Forum-Anfänger
Beiträge: 22
Registriert: Di 20. Apr 2010, 16:50

gnuplot epslatex pdflatex - Abbildungen in sich verschoben

Beitrag von hansmoleman »

Hallo zusammen,

Ich nutze gnuplot mit dem Terminal epslatex. Dies sind meine Arbeitsschritte:

1. Gnuplot eine eps.- und eine tex.-Datei produzieren lassen
2. eps.-Datei mit dem Acrobat Distiller in eine pdf.-Datei umwandeln, da ich pdflatex nutze
3. pdf.-Datei über die Konsole mittels pdfcrop beschneiden
4. tex.-Datei in mein Projekt einbinden. In der tex.-Datei wird ja mittels includegraphics auf die beschnittene pdf.-Datei verwiesen.

Das Minimalbeispiel baut auf folgender Anleitung auf:

http://bohnsack.com/?p=841

Und das ist das Minimalbeispiel:
\documentclass{scrartcl}

\usepackage{graphicx}
\usepackage[usenames]{color}

\begin{document}

\begin{center}
  \input{hans.tex}
\end{center}

\end{document}
Das Ergebnis sieht dann so aus, dass die zwei Komponenten, also die Rohform der Abbildung und die Beschriftungen, gegeneinander verschoben sind. Wie bekomme ich die beiden Komponenten bündig übereinander? Der Beitrag auf mrunix, welcher die gleiche Problematik behandelt, bereitet mir Kopfschmerzen :wink:

http://mrunix.de/forums/showthread.php?t=62339

Anbei noch hans.tex, hans-crop.pdf und hans-output.pdf.

Vielen Dank und beste Grüße, Hans
Dateianhänge
hans.tex
Einzubindende tex.Datei
(5.12 KiB) 928-mal heruntergeladen
hans-crop.pdf
Beschnittene pdf
(10.12 KiB) 542-mal heruntergeladen
hans-output.pdf
Endergebnis
(41.42 KiB) 716-mal heruntergeladen

hansmoleman
Forum-Anfänger
Forum-Anfänger
Beiträge: 22
Registriert: Di 20. Apr 2010, 16:50

Beitrag von hansmoleman »

Händisch kann man natürlich an der Position der Rohabbildung rumarbeiten. Mit
\put(1600,700){\includegraphics{hans-crop}}%
siehts auch ganz ok aus. Aber das muss doch irgendwie einfacher gehen als mit "ausprobieren"? :roll:

Benutzeravatar
localghost
Forum-Meister
Forum-Meister
Beiträge: 825
Registriert: Di 8. Jul 2008, 15:40
Wohnort: Braunschweig

"Interne" Alternativen

Beitrag von localghost »

Also, ich würde ja eine interne Lösung entweder mit pgfplots (basiert auf pgf/tikZ) oder pst-plot (basiert auf pstricks) bevorzugen. Ruft deutlich weniger Komplikationen hervor.


Thorsten
TeX und LaTeX, Fragen und Antworten – TeXwelt

¹ Es tut mir Leid. Meine Antworten sind begrenzt. Sie müssen die richtigen Fragen stellen.
² System: openSUSE 13.1 (Linux 3.11.6), TeX Live 2013, TeXworks 0.5 (r1349)
³ Lernt gerade TeX (und versucht, es zu verstehen).

hansmoleman
Forum-Anfänger
Forum-Anfänger
Beiträge: 22
Registriert: Di 20. Apr 2010, 16:50

Beitrag von hansmoleman »

Moin Local,

Bin jetzt auch zu dem Entschluss gekommen, das epslatex Terminal dranzugeben. Bei pdfcairo hat sich mir ebenfalls der Magen umgedreht. Jetzt bin ich wieder bei postscript und mit dem Ergebnis ganz zufrieden. Also so schauts aus, wens interessiert:
#GNUPLOT
set fontpath "C:"
cd "dat"
set terminal postscript color enhanced fontfile "sfrm100.pfa"
set terminal postscript color enhanced "SFRM1000"
set format "%g"
set xlabel "x"
set ylabel "y"
set key box
set xrange [-1000 : 2500 ]
set yrange [-1000 : 3500 ]
set grid
set output "hans.ps"
plot "type1.dat" title " Delta = -0.1" with points 11, \
     "type2.dat" title " Delta =  0.0" with points 12, \
     "type3.dat" title " Delta =  0.1" with points  9
Hans.ps in pdf konvertieren, mit pdfcrop beschneiden und dann über includegraphics teXen... Alternativen sind erwünscht :wink:

Benutzeravatar
localghost
Forum-Meister
Forum-Meister
Beiträge: 825
Registriert: Di 8. Jul 2008, 15:40
Wohnort: Braunschweig

Datensätze hochladen

Beitrag von localghost »

Packe die drei Datensätze doch mal in ein Archiv (RAR oder ZIP) und lade sie hier hoch.

Und sobald eine Frage für dich als beantwortet gilt, setze doch bitte entsprechend den Status des Themas (siehe Regelwerk).
TeX und LaTeX, Fragen und Antworten – TeXwelt

¹ Es tut mir Leid. Meine Antworten sind begrenzt. Sie müssen die richtigen Fragen stellen.
² System: openSUSE 13.1 (Linux 3.11.6), TeX Live 2013, TeXworks 0.5 (r1349)
³ Lernt gerade TeX (und versucht, es zu verstehen).

hansmoleman
Forum-Anfänger
Forum-Anfänger
Beiträge: 22
Registriert: Di 20. Apr 2010, 16:50

Beitrag von hansmoleman »

Moin Local,

Anbei der Datensatz... Meine Rückfragen: Gibt es effizientere Alternativen zu meinem Vorgehen? Und mit internen Alternativen meinst du sicherlich LaTeX intern? Also paketbezogen? Auf jeden Fall möchte ich von der picture Umgebung Abstand nehmen, da mein Gerät auf Dauer ne Menge Abbildungen bekommen wird... Und läuft pstricks überhaupt mit pdflatex?

Beste Grüße, Hans
Dateianhänge
dat.zip
(5.91 KiB) 586-mal heruntergeladen

Benutzeravatar
localghost
Forum-Meister
Forum-Meister
Beiträge: 825
Registriert: Di 8. Jul 2008, 15:40
Wohnort: Braunschweig

Beispiel mit »pgfplots«

Beitrag von localghost »

hansmoleman hat geschrieben:[...] Gibt es effizientere Alternativen zu meinem Vorgehen? [...]
Sicher. Und um dir das zu zeigen, habe ich um die Datensätze gebeten.
hansmoleman hat geschrieben:[...] Und mit internen Alternativen meinst du sicherlich LaTeX intern? Also paketbezogen? [...]
Korrekt. Deshalb habe ich ja bereits entsprechende Pakete vorgeschlagen.
hansmoleman hat geschrieben:[...] Auf jeden Fall möchte ich von der picture Umgebung Abstand nehmen, da mein Gerät auf Dauer ne Menge Abbildungen bekommen wird [...]
Das darfst Du gerne tun. Die ist ohnehin nicht zu gebrauchen, wenn komplexe Grafiken erstellt werden sollen.
hansmoleman hat geschrieben:[...] Und läuft pstricks überhaupt mit pdflatex? [...]
Nicht direkt. Dazu braucht es noch das Paket (auto-)pst-pdf.

Ich habe die Datensätze jetzt mal mit pgfplots visualisiert. Das läuft direkt mit PDFLaTeX. Und es lässt sich bequem auch eine Legende hinzufügen. Das Beispiel unten stellt nur ein grobes und daher ausbaufähiges Gerüst dar, liefert aber ein brauchbares Ergebnis. Für weitere Einstellungen musst Du in die Anleitung schauen.
\documentclass[11pt,a4paper,english]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{pgfplots}

\begin{document}
  \begin{tikzpicture}[font=\scriptsize]
    \begin{axis}[%
      grid=major,
      legend columns=3,
      title={Positions of the three object types in FlatWorld},
      width=12cm,height=8.5cm,
      xmin=-1000,xmax=2500,ymin=-1000,ymax=3000,
      xtick={-1000,-500,...,2500},
      ytick={-1000,-500,...,3000},
      x tick label style={/pgf/number format/1000 sep=},
      y tick label style={/pgf/number format/1000 sep=}
    ]
      \addplot[blue!50,mark=triangle,only marks] table {type1.dat};
      \addlegendentry{$\Delta=-0.1$};
      \addplot[green!50,mark=diamond,only marks] table {type2.dat};
      \addlegendentry{$\Delta=0.0$};
      \addplot[red!50,mark=pentagon,only marks] table {type3.dat};
      \addlegendentry{$\Delta=0.1$};
  	\end{axis}
  \end{tikzpicture}
\end{document}
TeX und LaTeX, Fragen und Antworten – TeXwelt

¹ Es tut mir Leid. Meine Antworten sind begrenzt. Sie müssen die richtigen Fragen stellen.
² System: openSUSE 13.1 (Linux 3.11.6), TeX Live 2013, TeXworks 0.5 (r1349)
³ Lernt gerade TeX (und versucht, es zu verstehen).

hansmoleman
Forum-Anfänger
Forum-Anfänger
Beiträge: 22
Registriert: Di 20. Apr 2010, 16:50

Beitrag von hansmoleman »

Moin Local,

Anbei pgfplots (oben) und gnuplot postscript terminal (unten). Ich muss schon sagen: pgfplots sieht echt stark aus. Ich mache mich gleich mal an die Doku :wink: Zwei Rückfragen:

1) Wie kann man die Legende so umformatieren, dass der Zwischenraum zwischen Symbol und Erklärung größer wird?

2) Ich habs mal mit einem anderen Datensatz durchgespielt. Sieht auch super aus. Allerdings schreibt pgfplots an die y-Achse bspw. 1,0 *10^4 anstelle von 10000. Wie bekomm ich da eine 10000 hin? Folgendes will nicht:
\tikzset{every y tick label/.append style={/pgf/number format/.cd,
            fixed,
            fixed zerofill,
            precision=2}}
Besten Dank, Hans
Dateianhänge
abc.pdf
pgfplots vs. gnuplot term ps
(98.02 KiB) 709-mal heruntergeladen

hansmoleman
Forum-Anfänger
Forum-Anfänger
Beiträge: 22
Registriert: Di 20. Apr 2010, 16:50

Beitrag von hansmoleman »

Ein kleines Minimalbeispiel soll den Sachverhalt verdeutlichen :wink:
\documentclass[11pt,a4paper,english]{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{babel}
\usepackage{pgfplots}

\begin{document}
 \begin{tikzpicture}[font=\scriptsize]
    \begin{axis}[%
      width=0.9\textwidth,height=8.5cm,
      xmin=1934,xmax=2009,ymin=5000,ymax=15000,
      xtick={1935,1940,...,2010},
      x tick label style={/pgf/number format/1000 sep=},
      ytick={5000,6000,...,15000},
      extra x ticks ={1985},
      extra x tick style={grid=major},
      extra x tick labels={},
      tick style={black},
      major tick length={0.1cm},
      grid style={black}
      ]
      \addplot[no marks] table {cb.txt};
    \end{axis}
 \end{tikzpicture}
\end{document}
Datensatz (cb.txt) anbei... Was muss ich für "y tick label style" eingeben, damit die Exponentialschreibweise verschwindet? Folgendes verursacht vier Fehlermeldungen, welche der beiliegenden jpg-Datei zu entnehmen sind:
 y tick label style={/pgf/number format/.cd,
            fixed,
            fixed zerofill,
            precision=2}
Vielen Dank und beste Grüße, Hans
Dateianhänge
Fehlermeldungen
Fehlermeldungen
Fehlermeldungen.JPG (165.51 KiB) 3626 mal betrachtet
cb.txt
Datensatz
(897 Bytes) 664-mal heruntergeladen

Benutzeravatar
localghost
Forum-Meister
Forum-Meister
Beiträge: 825
Registriert: Di 8. Jul 2008, 15:40
Wohnort: Braunschweig

Falsche Angaben

Beitrag von localghost »

hansmoleman hat geschrieben:[…] Was muss ich für "y tick label style" eingeben, damit die Exponentialschreibweise verschwindet? Folgendes verursacht vier Fehlermeldungen, welche der beiliegenden jpg-Datei zu entnehmen sind:
 y tick label style={
  /pgf/number format/.cd,
            fixed,
            fixed zerofill,
            precision=2
}
[…]
So, wie Du das da machst, kann das nicht funktionieren (siehe Anleitung Abschnitt 5.7 - Number Formatting Options, S. 83ff). Aber selbst wenn Du es richtig machen würdest, wäre das eine Formatierung für Dezimalzahlen mit zwei Nachkommastellen, bei denen gegebenenfalls mit einer Null aufgefüllt wird (also z. B. 1,10).
y tick label style={%
  /pgf/number format/.cd,
  /pgf/number format/ fixed zerofill,
  /pgf/number format/ precision=2
}
Du musst einfach nur dasselbe Format angeben, wie für die Zahlen an der x-Achse.
y tick label style={/pgf/number format/1000 sep=}, 
Aber freue dich nicht zu früh, denn es funktioniert nicht. Offensichtlich ist das so nicht vorgesehen. Vielleicht aus Platzgründen. Frag doch mal den Autor des Pakets. Aber so störend finde ich das jetzt nicht.
TeX und LaTeX, Fragen und Antworten – TeXwelt

¹ Es tut mir Leid. Meine Antworten sind begrenzt. Sie müssen die richtigen Fragen stellen.
² System: openSUSE 13.1 (Linux 3.11.6), TeX Live 2013, TeXworks 0.5 (r1349)
³ Lernt gerade TeX (und versucht, es zu verstehen).

Antworten