Inset in einem Graphen mit pgfplots

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Inset in einem Graphen mit pgfplots

Alternative mit Bordmitteln

von localghost » Fr 2. Sep 2011, 20:46

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.

von speschlll » Fr 2. Sep 2011, 19:46

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 ^^

von speschlll » Fr 2. Sep 2011, 10:38

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) 1861 mal betrachtet

Datensatz erforderlich

von localghost » Do 1. Sep 2011, 17:41

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


Thorsten

Inset in einem Graphen mit pgfplots

von speschlll » Do 1. Sep 2011, 14:29

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) 377-mal heruntergeladen

Nach oben