Inset in einem Graphen mit pgfplots

Tabellen und Grafiken erstellen und anordnen


speschlll
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Di 5. Jul 2011, 10:46
Wohnort: Berlin

Inset in einem Graphen mit pgfplots

Beitrag von speschlll »

Hallo zusammen,
ich versuche gerade in einem Graphen, den ich mit pgfplots erstellt habe, ein kleines Inset einzufügen. Im Grunde soll ein Bereich meiner Kurve vergrößert im noch vorhandenen Freiraum des Graphen dargestellt werden.
Hier bietet sich natürlich Tikz-spy an. Hier wird zwar der ausgewählte Bereich vergrößert, aber leider fehlt dem Kasten in der vergrößerten Darstellung dann die Achseneinteilung zB auf der x-Achse.
Ich habe selber versucht einfach zwei Graphen in der selben tikzpicture-Umgebung zu erstellen und wollte dann den kleineren "einfach" verschieben, was mir aber nicht gelungen ist, weil es doch anscheindend nicht so "einfach" ist ;)
Hat hier vllt jemand eine gute Idee, wie man dieses Problem lösen kann?

Vielen Dank schonmal im Voraus,
speschlll
\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}
\usepgfplotslibrary{units}

\begin{document}
\begin{figure}[b]
\centering
\begin{tikzpicture}
\begin{axis}[
width=\columnwidth,
height=0.3\textheight,
ytick=\empty,
xlabel = Raman Shift,
x unit = cm^{-1},
ylabel = Intensity,
y unit = arb. units,
minor tick num = 3,
xmin=1250, xmax=2800,
ymin=0, ymax=2400,
]
		\addplot[smooth,thick,color=blue]  table {data/532_U44-5_2070.txt};
		
\end{axis}

\begin{axis}[
width=0.5\columnwidth,
height=0.15\textheight,
ytick=\empty,
minor tick num = 3,
xmin=1275, xmax=1500,
ymin=100, ymax=400,
]
		\addplot[smooth,thick,color=blue]  table {data/532_U44-5_2070.txt};	
\end{axis}	

\end{tikzpicture}
\vspace{-10pt}

\caption{}%
\label{}%
\end{figure}
\end{document}
Dateianhänge
532_U44-5_2070.txt
(16.28 KiB) 376-mal heruntergeladen
Zuletzt geändert von speschlll am Do 1. Sep 2011, 19:28, insgesamt 2-mal geändert.

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

Datensatz erforderlich

Beitrag von localghost »

Lade doch mal den entsprechenden Datensatz (532_U44-5_2070.txt) für dein Raman-Spektrum hier hoch.


Thorsten
TeX und LaTeX, Fragen und Antworten – TeXwelt

¹ Es tut mir Leid. Meine Antworten sind begrenzt. Sie müssen die richtigen Fragen stellen.
² System: TeX Live 2024, TeXworks

speschlll
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Di 5. Jul 2011, 10:46
Wohnort: Berlin

Beitrag von speschlll »

Moin moin,
ich hab nochmal kurz (mit Paint) ein Bildchen gemalt, um zu verdeutlichen was ich meine.
Im Grunde brauche ich also so etwas wie die spy-library, aber mit Achseneinteilung an dem Kästchen, was den vergrößerten Bereich darstellt.

Gruß,
speschlll
Dateianhänge
beispiel.JPG
beispiel.JPG (14.53 KiB) 1852 mal betrachtet

speschlll
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Di 5. Jul 2011, 10:46
Wohnort: Berlin

Beitrag von speschlll »

Ok, ich hab die Lösung selber gefunden.
Hab's erst noch mit der overpic-Umgebung probiert aber das funktionierte nicht, schlussendlich hat es jetzt der simple "\put"-Befehl getan ^^

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

Alternative mit Bordmitteln

Beitrag von localghost »

Mal ganz davon abgesehen, das deine Lösung ziemlich halbgar erscheint, solltest Du sie hier dennoch vollständig angeben. Du schreibst hier ja nicht nur für dich, sondern auch für andere, die möglicherweise das gleiche oder ein ähnliches Problem haben.

Eigentlich bietet pgf/tikZ Möglichkeiten, um das Problem mit dessen Mitteln zu lösen.
\documentclass{article}
\usepackage{pgfplots}
\usepgfplotslibrary{units}
\usepackage{siunitx}

\begin{document}
  \begin{tikzpicture}
    \begin{axis}[%
      width=\linewidth,
      height=0.3\textheight,
      ytick=\empty,
      xlabel={Raman Shift},
      ylabel={Intensity},
      xlabel near ticks,
      ylabel near ticks,
      x unit={\si{\per\cm}},
      y unit={arb. units},
      minor tick num=3,
      xmin=1250,xmax=2800,
      ymin=0,ymax=2400,
    ]
      \addplot[smooth,thick,color=blue]  table {532_U44-5_2070.txt};
    \end{axis}
    \begin{scope}[shift={(3.5,2.5)},font=\scriptsize]
      \begin{axis}[%
        width=0.5\linewidth,
        height=0.15\textheight,
        ytick=\empty,
        minor tick num=3,
        xmin=1275,xmax=1500,
        ymin=200,ymax=400,
      ]
        \addplot[smooth,thick,color=blue]  table {532_U44-5_2070.txt};  
      \end{axis}  
    \end{scope}
  \end{tikzpicture}
\end{document} 
Etwas anderes fällt mir zur Zeit dazu nicht ein.
TeX und LaTeX, Fragen und Antworten – TeXwelt

¹ Es tut mir Leid. Meine Antworten sind begrenzt. Sie müssen die richtigen Fragen stellen.
² System: TeX Live 2024, TeXworks

Antworten