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
Code, hier editierbar zum Übersetzen:
\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}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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%


Update

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

Open in writeLaTeX
Code, hier editierbar zum Übersetzen:
\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}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

alt text


Ursprüngliche Antwort:

Vielleicht ist es einfacher dafür pgfplots zu verwenden:

Open in writeLaTeX
Code, hier editierbar zum Übersetzen:
\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}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
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

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
Code, hier editierbar zum Übersetzen:
\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}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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
Deine Antwort
[Vorschau ausblenden]

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

Frage-Themen:

×731

gestellte Frage: 13 Feb '14, 12:05

Frage wurde gesehen: 16,084 Mal

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

Willkommen, erstes Mal hier? Schau mal unter FAQ!

×