6
1

Hallo zusammen,

ich versuche gerade mit tikz eine Parabel zu zeichnen und die Bereiche, wo die Parabel oberhalb der x-Achse verläuft einzufärben.

Open in writeLaTeX
\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{tikz}

\begin{document}
\begin{figure}[ht!]
\centering
\begin{tikzpicture}[scale=1]
  \shade[top color=green!80,bottom color=green!80]
    (-4,0) parabola (-5.34057,8.5)  |- (-4,0);

    %\shade[fill{rgb:red,2;green,2;yellow,1}]
    %(-3,0) parabola bend (-0.5,-6.25) (2,0) |- (2,0);

  \draw[style=help lines] (-6.5,-7.5) grid (2.5,8.5);

  \draw[->] (-6.5,0) -- (2.5,0) node[right] {$x$};
  \draw[->] (0,-8) -- (0,9);
    \draw (-4,-0.5) node[left,black]{-4};
    \draw (1,-0.5) node[right,black]{1};

  \draw (-5.34057,8.5) parabola bend (-1.5,-6.25) (2.34057,8.5) node[below right] {$x^2+3x-4$};
\end{tikzpicture}
\caption{Positive Bereiche von $f$}
\end{figure}

\end{document}

Orientiert habe ich mich an diesem Beispiel. Allerdings fängt der gefärbte Bereich in dem Beispiel am Scheitelpunkt an, bei mir sollte der erst an der Nullstelle ansetzen. Deshalb vermute ich, dass die Kombination von shade und parabola nicht so ganz funktioniert bzw. tikz dann die Nullstelle direkt auch zum Scheitelpunkt macht. Gibt es da einen anderen Befehl für oder kann man das noch auf ganz andere Art machen?

gefragt 13 Feb '14, 12:05

Qwertzuiop%C3%BC's gravatar image

Qwertzuiopü
188558
Akzeptiert-Rate: 100%


Für solche Aufgaben lohnt sich auch immer ein Blick auf »tkz-fct«. Die Syntax für die Funktion selbst ist etwas speziell. Dafür ist die Einfärbung der gewünschten Flächen leicht zu bewerkstelligen.

Open in writeLaTeX
\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{tkz-fct}

\begin{document}
  \begin{tikzpicture}
    \tkzInit[xmin=-5,xmax=2,ymin=-7,ymax=6]
    \tkzGrid[color=lightgray]
    \tkzAxeXY

    \tkzFct[green,domain=-5:2]{\x*\x+3*\x-4}
    \tkzDrawArea[color=green!50!white,domain=-5:-4]
    \tkzDrawArea[color=green!50!white,domain=1:2]
  \end{tikzpicture}
\end{document}

Leider ist die Anleitung des Pakets nur auf Französisch erhältlich. Man kann sich aber ganz gut an den Beispielen entlang hangeln.


alt text

Permanenter link

beantwortet 13 Feb '14, 17:14

Thorsten's gravatar image

Thorsten
1.6k325
Akzeptiert-Rate: 58%

Erinnere ich mich falsch, oder braucht das gnuplot (und damit auch shell-escape)?

(13 Feb '14, 18:29) cgnieder

@Clemens: Stimmt. Ich vergaß, das zu erwähnen, weil ich immer mit -shell-escape arbeite. Das wird aber auch entsprechend in der Anleitung erwähnt.

(13 Feb '14, 19:24) Thorsten

Update

Ab Version 1.10 von pgfplots kann man sich die Schnittpunkte mit der x-Achse gleich mit berechnen lassen:

Open in writeLaTeX
\documentclass[margin=5mm]{standalone} 
\usepackage{pgfplots}
\usepgfplotslibrary{fillbetween} 
\pgfplotsset{
  compat=1.10,% mit writeLaTeX bisher noch nicht möglich
}

\begin{document} 
\begin{tikzpicture} 
\begin{axis}[
  axis lines=middle,
  enlargelimits=0.05,
  grid,
  domain=-5.5:2.5,
  ]
  \addplot[name path=P,green]{x^2+3*x-4}; 
  \addplot[name path=X,draw=none]{0};
  % Füllung zwischen plots
  \addplot fill between[ 
    of=P and X, 
    split, % Segmente berechnen lassen, Zählung beginnt bei 0 (also gerader Zahl)
    every even segment/.style= {gray,fill opacity=0.2}, % Stil für die geraden Segmente
    every odd segment/.style={fill=none}, % Stil für die ungeraden Segmente
  ];  
\end{axis} 
\end{tikzpicture} 
\end{document}

alt text


Ursprüngliche Antwort:

Vielleicht ist es einfacher dafür pgfplots zu verwenden:

Open in writeLaTeX
\documentclass[margin=5mm]{standalone} 
\usepackage{pgfplots} 
\pgfplotsset{
  %compat=1.9,% bei Nutzung von writeLaTeX auskommentieren
  flaeche/.style={draw=none,fill=gray,fill opacity=0.2}
}

\begin{document} 
\begin{tikzpicture} 
\begin{axis}[axis lines=middle,enlargelimits=0.05,grid]
  \newcommand*\plotfunc{x^2+3*x-4}
  \addplot[flaeche,domain=-5.5:-4]{\plotfunc}\closedcycle; 
  \addplot[flaeche,domain=1:2.5]{\plotfunc}\closedcycle;
  \addplot[green,domain=-5.5:2.5]{\plotfunc}; 
\end{axis} 
\end{tikzpicture} 
\end{document}
Permanenter link

beantwortet 13 Feb '14, 12:57

esdd's gravatar image

esdd
17.8k284257
Akzeptiert-Rate: 62%

bearbeitet 05 Mär '14, 11:50

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

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ügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×731

gestellte Frage: 13 Feb '14, 12:05

Frage wurde gesehen: 15,956 Mal

zuletzt geändert: 05 Mär '14, 11:50