pgfplot: Plot mit Border UND Achsenlinien

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: pgfplot: Plot mit Border UND Achsenlinien

von dj_fusspflege » Mo 20. Jan 2014, 16:44

Das ist genau was ich wollte, ohne zusätzliche Achsenbeschriftung!
Funktioniert hervorragend- da wäre ich alleine nicht drauf gekommen!

Vielen Dank, so werde ich es machen!!

von esdd » Mo 20. Jan 2014, 15:38

Du kannst dir natürlich auch in die erste Variante einfach Achsen einzeichnen lassen. Die noch einmal zu beschriften, dürfte ja nicht notwendig sein?
\documentclass[12pt]{scrartcl} 
\usepackage{pgfplots} % für Diagrammerstellung 
\pgfplotsset{samples=200} %Setzt den Wert von 200 Punkten als default für Diagramme 

\begin{document} 

\begin{tikzpicture} 
  \begin{axis} 
    [xlabel=$\omega$,ylabel=$y$, 
      width=8cm, height=8cm, 
      domain=-25:25, 
      xmin=-25, xmax=+25, 
      ymin=-1, ymax=2] 
    \draw[-stealth]({axis cs: 0,0}-|{rel axis cs:0,0})--({axis cs:0,0}-|{rel axis cs:1,0});
    \draw[-stealth]({axis cs: 0,0}|-{rel axis cs:0,0})--({axis cs:0,0}|-{rel axis cs:0,1});
    \addplot [dash pattern=on 2pt off 2pt, color=orange,mark=*,mark size=0.1pt,] {sin(deg(x))/x}; 
  \end{axis} 
\end{tikzpicture} 
\end{document}
Gruß
Elke

von dj_fusspflege » Mo 20. Jan 2014, 14:53

Hallo Elke,

danke für Deinen Hinweis und Deine Idee.
Ich habe im folgenden Code mal die drei Diagramme zum Vergleich gegenübergestellt. Mein Wunsch wäre das erste Diagramm mit Achsen durch den Ursprung. Die von Dir vorgeschlagene Box sieht eben etwas anders aus. Wenn sich dafür nix finden lässt, werde ich wohl alle Diagramme nochmal überarbeiten, aber an sich gefällt mir der Standard ganz gut.

Ich hoffe, dass das jetzt ein anständiges Minimalbeispiel ist...
\documentclass[12pt]{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern} % benutzt einen vektorbasierten Font statt dem Bitmap-basierten
\usepackage[ngerman]{babel} % stellt die Dokumentsprache auf deutsch
\usepackage{tikz}
\usepackage{pgfplots} % für Diagrammerstellung
\pgfplotsset{samples=200} %Setzt den Wert von 200 Punkten als default für Diagramme

      
\begin{document}

\begin{tikzpicture}
  \begin{axis}
  [xlabel=$\omega$,
   ylabel=$y$,
   	width=8cm,
   	height=8cm, 
   %axis lines=middle,
   domain=-25:25,
  xmin=-25, xmax=+25,
  ymin=-1, ymax=2]
    \addplot [dash pattern=on 2pt off 2pt, color=orange,mark=*,mark size=0.1pt,] {sin(deg(x))/x};
  \end{axis}
\end{tikzpicture}

\begin{tikzpicture}
  \begin{axis}
  [xlabel=$\omega$,
   ylabel=$y$,
   	width=8cm,
   	height=8cm, 
   axis lines=middle,
   domain=-25:25,
  xmin=-25, xmax=+25,
  ymin=-1, ymax=2]
    \addplot [dash pattern=on 2pt off 2pt, color=orange,mark=*,mark size=0.1pt,] {sin(deg(x))/x};
  \end{axis}
\end{tikzpicture}

\begin{tikzpicture}
  \begin{axis}
  [xlabel=$\omega$,
   ylabel=$y$,
   	width=8cm,
   	height=8cm, 
   axis lines=middle,
   domain=-25:25,
  xmin=-25, xmax=+25,
  ymin=-1, ymax=2]
    \addplot [dash pattern=on 2pt off 2pt, color=orange,mark=*,mark size=0.1pt,] {sin(deg(x))/x};
     \draw(current axis.south west)rectangle(current axis.north east); 
  \end{axis}
\end{tikzpicture}


	

\end{document}

von esdd » Mo 20. Jan 2014, 14:26

Einen einfachen Rahmen außen herum könnte man selbst zeichnen, muss dann nur aufpassen, dass es kein Problem mit der Achsenbeschriftung gibt:
\documentclass[margin=5mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9}
\begin{document} 

\begin{tikzpicture} 
   \begin{axis} 
   [xlabel=$\omega$, 
    ylabel=$F(j\omega)$, 
       width=8cm, 
       height=8cm, 
    axis lines=middle,enlargelimits=0.1,
    domain=-25:25, 
   xmin=-20, xmax=+20, 
   ymin=-1, ymax=2] 
     %\addplot+[ycomb, color=red, mark=*,mark size=0.5pt,] table[x=omega, y=y]{Daten/si-func.csv}; 
     \addplot [dash pattern=on 0.5pt off 2pt, color=orange,mark=*,mark size=0.1pt,] {sin(deg(x))/x}; 
   \end{axis} 
  \draw(current axis.south west)rectangle(current axis.north east);
\end{tikzpicture}  

\end{document}
Gruß
Elke

PS: Bitte erstelle immer vollständige und lauffähige Minimalbeispiele. Deine Datendatei haben wir zum Beispiel nicht.

pgfplot: Plot mit Border UND Achsenlinien

von dj_fusspflege » Mo 20. Jan 2014, 12:02

Hallo Forum,

ich würde gerne einen Plot erstellen, der sowohl den Rand (oder Border) als auch die Achsenlinien beinhaltet.
Sobald ich aber die axis lines "einschalte", verschwindet die Umrandung des Plots und ich finde in den Anleitungen keinen Hinweis, wie ich den Border manuell wieder erzwinge. Da die meisten Diagramme ohne die Achsen auskommen, möchte ich das einheitliche Aussehen mit Rand beibehalten.

Ich wäre über eine Anregung sehr froh!
\begin{tikzpicture}
  \begin{axis}
  [xlabel=$\omega$,
   ylabel=$F(j\omega)$,
   	width=8cm,
   	height=8cm, 
   %axis lines=middle,
   domain=-25:25,
  xmin=-20, xmax=+20,
  ymin=-1, ymax=2]
    \addplot+[ycomb, color=red, mark=*,mark size=0.5pt,] table[x=omega, y=y]{Daten/si-func.csv};
    \addplot [dash pattern=on 0.5pt off 2pt, color=orange,mark=*,mark size=0.1pt,] {sin(deg(x))/x};
  \end{axis}
\end{tikzpicture}

Nach oben