So, ich möchte das die Funktionen immer von -9 bis 9 gezeichnet werden. Benutze ich dazu domain=-9:9 geht mir die Beschriftung verloren, benutze ich kein domain-Befehl, zeichnet er die Graphen nicht von -9 bis 9. Wahrscheinlich nur ein winziger Gedankenfehler...

Open in writeLaTeX
\documentclass[a4paper, 12pt]{article}
\usepackage[ngerman]{babel}\usepackage[utf8]{inputenc}
\usepackage{amsfonts}\usepackage{amssymb}\usepackage{amsmath}\usepackage{mathtools}
\usepackage{eurosym}\usepackage{wasysym}\usepackage{graphicx}\usepackage{tikz}\usepackage{adjustbox}\usetikzlibrary{shapes.misc} \usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}[ cross/.style={draw, cross out,
  minimum size=2*(#1-1pt), inner sep=0pt, outer sep=0pt}, x=.5cm, y=.5cm]
   %Raster zeichnen
   \draw [color=gray!50]  [step=5mm] (-11,-10) grid (11,10);
   % Achsen zeichnen
   \draw[->,thick] (-10,0) -- (10,0) node[right] {$x$};
   \draw[->,thick] (0,-9) -- (0,9) node[above] {$y$};
   % Achsen beschriften
   \foreach \x in {-1,0,1,2,5}
   \draw (\x,-.1) -- (\x,.1) node[below=4pt] {$\scriptstyle\x$};
   \foreach \y in {-1,0,1,2,5}
   \draw (-.1,\y) -- (.1,\y) node[left=4pt] {$\scriptstyle\y$};
    %Funktionen zeichnen:
    \clip(-11,-9) rectangle (11,9);
    \draw[smooth, domain=-9:9] plot (\x, {2*pow(\x-3,2)-3}) node[right] {$p_1$};  
    \draw[smooth] plot (\x, {-1*pow(\x-3,2)+1}) node[right] {$p_2$};  
    \draw[smooth, domain=-9:9] plot (\x, {-0.4*pow(\x+3,2)+1}) node[right] {$p_4$};           
\end{tikzpicture} 
\end{document}

gefragt 14 Apr '14, 08:09

Astrina's gravatar image

Astrina
336719
Akzeptiert: 93%

bearbeitet 14 Apr '14, 08:10


Eine weitere Variante ist die Nutzung der Bibliothek intersections. Damit können die Schnittpunkte zwischen dem clip Rechteck und den einzelnen Graphen ermittelt werden. Die Beschriftungen können dann an diesen Schnittpunkten mit below right bzw. above right ausgerichtet werden:

Open in writeLaTeX
\documentclass[margin=5mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{intersections}
\begin{document}
\begin{tikzpicture}[x=.5cm, y=.5cm,domain=-9:9,smooth]
   %Raster zeichnen
   \draw [color=gray!50]  [step=5mm] (-11,-10) grid (11,10);
   % Achsen zeichnen
   \draw[->,thick] (-10,0) -- (10,0) node[right] {$x$};
   \draw[->,thick] (0,-9) -- (0,9) node[above] {$y$};
   % Achsen beschriften
   \foreach \c in {-8,-6,...,-2,2,4,...,8}{
     \draw (\c,-.1) -- (\c,.1) node[below=4pt] {$\scriptstyle\c$};
     \draw (-.1,\c) -- (.1,\c) node[left=4pt] {$\scriptstyle\c$};
   }
   \node[below left]{$\scriptstyle0$};
    %Funktionen zeichnen:
    \path[name path=rahmen,clip](-11,-9) rectangle (11,9);
    \draw[name path=p1] plot (\x, {2*pow(\x-3,2)-3});  
    \draw[name path=p2] plot (\x, {-1*pow(\x-3,2)+1});  
    \draw[name path=p4] plot (\x, {-0.4*pow(\x+3,2)+1});  
    %Funktionen beschriften:
    \foreach \p/\o in {1/below right,2/above right,4/above right}
      \path[name intersections={of=rahmen and p\p}]node[\o] at (intersection-2){$p_\p$};
\end{tikzpicture} 
\end{document}

alt text

Da du in dem Beispiel in deiner Frage auch pgfplots lädst, hier noch ein Vorschlag mit diesem Paket:

Open in writeLaTeX
\documentclass[margin=5mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.8}
\begin{document}
\begin{tikzpicture}[domain=-9:9,smooth]
  \begin{axis}[
      width=12cm,height=12cm,
      axis lines=middle,
      domain=-9:9,
      smooth,
      no markers,
      grid,
      xmin=-9,xmax=9,
      tick style=black,
      xtick={-10,-8,...,8},
      xlabel=$x$,
      xlabel style={below, anchor=north east,inner xsep=0pt},
      restrict y to domain=-9:9,
      ymin=-9,ymax=9,
      ytick={-10,-8,...,8},ylabel=$y$,
      ylabel style={above,anchor=north east,inner ysep=0pt},
      samples=100,
    ]
    \addplot {2*pow(\x-3,2)-3}node[pos=1, below right]{$p_1$};
    \addplot{-1*pow(\x-3,2)+1}node[pos=1, above right] {$p_2$};
    \addplot {-0.4*pow(\x+3,2)+1}node[pos=1, above right]{$p_4$};
  \end{axis}
\end{tikzpicture} 
\end{document}

alt text

Permanenter link

beantwortet 14 Apr '14, 13:30

esdd's gravatar image

esdd
14.2k53251

bearbeitet 14 Apr '14, 15:53

Wow! Das ist echt clever, Schnitt des clip-Rechtecks mit den Funktionen, dazu elegant in for-Schleife! Die pgfplots-Version ist auch lehrreich: wer mehr will, könnte dahin wechseln.

(14 Apr '14, 17:05) Felix

sehr schick, habe die tikz lösung benutzt, finde ich am schicksten für meine Bedürfnisse.

(16 Apr '14, 11:22) Astrina

Hallo!

Ich habe u.a. ein paar kleinere Korrekturen vorgenommen:

€dit: Achso, es ging um die Bennennung der Funktionen. Ich hatte angenommn, es geht um die unvollständigen Achsenbeschriftungen. Das würde ich einfach von Hand machen, wenn man mit clip arbeiten will; wurde ja schon genannt.

alt text

Open in writeLaTeX
\documentclass[margin=5mm]{standalone}
\usepackage[ngerman]{babel}
\usepackage{tikz}
\usetikzlibrary{circuits.ee.IEC}
\usepackage{amsmath, amssymb}

%===========
\begin{document}
%===========
\begin{tikzpicture}[ cross/.style={draw, cross out,
  minimum size=2*(#1-1pt), inner sep=0pt, outer sep=0pt}, 
  x=.5cm, y=.5cm, 
  >=latex,   %Voreinstellung für Pfeilspitzen
  font= \footnotesize
 ]
 %Raster zeichnen
   \draw [color=gray!50]  [step=5mm] (-11,-10) grid (11,10);
   % Achsen zeichnen
   \draw[->,thick] (-10,0) -- (10,0) node[right, below] {\normalsize $x$};
   \draw[->,thick] (0,-9) -- (0,9) node[above, left] {\normalsize $y$};
   % Achsen beschriften
   \foreach \x in {-8,...,-1,1,2,...,9}
   \draw (\x,-.1) -- (\x,.1) node[below=4pt] {$\x$};
   \foreach \y in {-9,...,-1,1,2,...,8}
   \draw (-.1,\y) -- (.1,\y) node[left=4pt] {$\y$};

% Besserer Ursprung
\draw[color=black] (0pt,-5pt) node[right] {$0$};

%Funktionen zeichnen:
     \clip(-11,-9) rectangle (11,9); %Bildbereich
    \draw[blue, smooth, domain=-9:9] plot (\x, {-1*pow(\x-3,2)+1}) node[yshift=13cm] {$$};

     \draw[green, smooth, domain=-9:9] plot (\x, {2*pow(\x-3,2)-3}) node[] {$$};

    \draw[red, smooth, domain=-9:9] plot (\x, {-0.4*pow(\x+3,2)+1}) node[right] {$$};

%Beschriftung
  \node[blue]  at (6,-5) {$p_2$};

\end{tikzpicture} 
%===========
\end{document}
%===========
Permanenter link

beantwortet 14 Apr '14, 08:28

cis's gravatar image

cis
5.4k860168

bearbeitet 14 Apr '14, 09:11

Trotzdem danke, es ist immer toll, andere Lösungen zu sehen um diese ggf. benutzen zu können.

(16 Apr '14, 11:23) Astrina

Durch das \clip wird die Beschriftung abgeschnitten, denn durch die Größe der Funktionswerte wird die clip-Box überschritten. Den rechten Teil des Funktionsgraphen sieht man ja schon nicht mehr, und damit auch die Beschriftung rechts daneben nicht.

Lösungsmöglichkeiten:

  • Einschränkung von domain auf den x-Bereich, wo der Graph noch zu sehen ist, evtl. Herantasten
  • Manuelles Platzieren der Beschriftung - zumindest kann man dann noch ein bisschen herumschieben, bis es optimal aussieht

Letzteres z.B. hier mit node at (...):

Open in writeLaTeX
\documentclass[a4paper, 12pt]{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[ cross/.style={draw, cross out,
  minimum size=2*(#1-1pt), inner sep=0pt, outer sep=0pt}, x=.5cm, y=.5cm]
   %Raster zeichnen
   \draw [color=gray!50]  [step=5mm] (-11,-10) grid (11,10);
   % Achsen zeichnen
   \draw[->,thick] (-10,0) -- (10,0) node[right] {$x$};
   \draw[->,thick] (0,-9) -- (0,9) node[above] {$y$};
   % Achsen beschriften
   \foreach \x in {-1,0,1,2,5}
   \draw (\x,-.1) -- (\x,.1) node[below=4pt] {$\scriptstyle\x$};
   \foreach \y in {-1,0,1,2,5}
   \draw (-.1,\y) -- (.1,\y) node[left=4pt] {$\scriptstyle\y$};
    %Funktionen zeichnen:
    \clip(-11,-9) rectangle (11,9);
    \draw[smooth, domain=-9:9] plot (\x, {2*pow(\x-3,2)-3}) node at (6,8) {$p_1$};  
    \draw[smooth] plot (\x, {-1*pow(\x-3,2)+1}) node[right] {$p_2$};  
    \draw[smooth, domain=-9:9] plot (\x, {-0.4*pow(\x+3,2)+1})
        node at (2.5,-8) {$p_4$};           
\end{tikzpicture} 
\end{document}

Plot mit Beschriftung

Permanenter link

beantwortet 14 Apr '14, 08:28

Felix's gravatar image

Felix
1.3k225366

händisches Platzieren der Benennungen, gemerkt für die Zukunft

(16 Apr '14, 11:23) Astrina

Hier eine Version mit domain-Änderung, wie bei Felix angedeutet

  • die Domain wird rechts soweit einschränkt, dass der Graph mindestens noch komplett sichtbar ist
  • die Domain links ist egal, kann bei -9 bleiben
  • die nach oben aus der \clip-Box hinausrutschende Beschriftung wird mit yshift wieder reingeschoben
Open in writeLaTeX
\documentclass[a4paper, 12pt]{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}[ cross/.style={draw, cross out,
  minimum size=2*(#1-1pt), inner sep=0pt, outer sep=0pt}, x=.5cm, y=.5cm]
   %Raster zeichnen
   \draw [color=gray!50]  [step=5mm] (-11,-10) grid (11,10);
   % Achsen zeichnen
   \draw[->,thick] (-10,0) -- (10,0) node[right] {$x$};
   \draw[->,thick] (0,-9) -- (0,9) node[above] {$y$};
   % Achsen beschriften
   \foreach \x in {-1,0,1,2,5}
   \draw (\x,-.1) -- (\x,.1) node[below=4pt] {$\scriptstyle\x$};
   \foreach \y in {-1,0,1,2,5}
   \draw (-.1,\y) -- (.1,\y) node[left=4pt] {$\scriptstyle\y$};
    %Funktionen zeichnen:
    \clip(-11,-9) rectangle (11,9);
    \draw[smooth, domain=-9:5.45] plot (\x, {2*pow(\x-3,2)-3})
      node[right, yshift=-1ex] {$p_1$};
    \draw[smooth] plot (\x, {-1*pow(\x-3,2)+1}) node[right] {$p_2$};
    \draw[smooth, domain=-9:2] plot (\x, {-0.4*pow(\x+3,2)+1})
      node[right, yshift=1ex] {$p_4$};
\end{tikzpicture} 
\end{document}

Plot mit Einschränkung der Domain

Permanenter link

beantwortet 14 Apr '14, 08:42

stefan's gravatar image

stefan ♦♦
5.8k12134

auch schick, wahnsinn wieviele Möglichkeiten es da gibt, danke

(16 Apr '14, 11:24) Astrina
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×492
×5
×3

Frage gestellt: 14 Apr '14, 08:09

Frage wurde angeschaut: 9,283 Mal

Zuletzt aktualisiert: 16 Apr '14, 11:24