
Ich versuche, den Bereich unter der Kurve von sin(x)/x auszufüllen. Hier ist mein Code:
\PassOptionsToPackage{usenames,dvipsnames,table,x11names}{xcolor}
\documentclass[a4paper, 12pt]{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{pgfplots}
\usepackage{tkz-euclide}
\pgfplotsset{compat=1.15}
\usetikzlibrary{arrows,shadows,positioning, calc, decorations.markings, hobby, quotes,angles,decorations.pathreplacing,intersections}
\usepgfplotslibrary{polar,colormaps,fillbetween}
\usepgflibrary{shapes.geometric}
\usepackage{xcolor}
\begin{document}
\begin{figure}[ht]
\centering
\begin{tikzpicture}[scale=1.5,line width=1pt]
\begin{axis}[
color= black,
xmin=-1,
xmax=7.9,
ymin=-1,
ymax=2,
axis equal image,
axis lines=middle,
font=\scriptsize,
xtick distance=1,
ytick distance=1,
%xticklabels={},
%yticklabels={},
inner axis line style={stealth-stealth},
xlabel = {$x$},
ylabel = {$f(x)$},
ticks=none,
]
\addplot[black, opacity = 0, domain=0:10, name path = 1]{0};
\addplot[Tan, smooth, domain=0.01:7.5, samples = 300, name path=2, thick] {sin(deg(x))/x};
%\addplot[Tan, fill opacity=0.25] fill between [of=1 and 2,soft clip={domain=0:3.1415}];
\end{axis}
\end{tikzpicture}
\caption{Integrating $\sin(x)/x$ from $0 \le x < \infty$.}
\label{1}
\end{figure}
\end{document}
Ich habe den Code in einem größeren Dokument, hier ist also die Ausgabe:
Wenn ich die Zeile auskommentiere, um den Bereich auszufüllen, geschieht Folgendes:
Es gibt eine auffällige vertikale Lücke und das Bild wird nach links verschoben. Irgendeine Idee, warum das passiert?
Antwort1
Der Schuldige ist scale=1.5
, den Sie an den weitergeben sollten axis
, und nicht an den tikzpicture
. IcherratenSie verwechseln pgfplots
sonst, siehediese Antwort. Wenn Sie eine Erklärung auf Kernebene wünschen, kann ich diese leider nicht liefern, aber angesichtsdiese Antworteine meiner ersten Vermutungen war, die Position von zu ändern scale
, und es scheint zu funktionieren. Beachten Sie auch, dass die pgfplots-Bibliothek fillbetween
lädt intersections
, aber eine leicht erweiterte Version, sodass Sie sie nicht intersections
(erneut) laden sollten. Ich habe auch ungenutzte Bibliotheken entfernt tkz-euclide
(um den Code übersichtlich zu halten), aber Sie können sie wiederherstellen, und der Code funktioniert weiterhin wie vorgesehen.
\PassOptionsToPackage{usenames,dvipsnames,table,x11names}{xcolor}
\documentclass[a4paper, 12pt]{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{pgfplots}
%\usepackage{tkz-euclide}
\pgfplotsset{compat=1.15}
\usepgfplotslibrary{%polar,colormaps,
fillbetween}
% \usetikzlibrary{arrows,shadows,positioning, calc, decorations.markings, hobby, quotes,angles,decorations.pathreplacing}
% \usepgflibrary{shapes.geometric}
%\usepackage{xcolor}
\begin{document}
\begin{figure}[ht]
\centering
\begin{tikzpicture}[line width=1pt]
\begin{axis}[scale=1.5,
color= black,
xmin=-1,
xmax=7.9,
ymin=-1,
ymax=2,
axis equal image,
axis lines=middle,
font=\scriptsize,
xtick distance=1,
ytick distance=1,
%xticklabels={},
%yticklabels={},
inner axis line style={stealth-stealth},
xlabel = {$x$},
ylabel = {$f(x)$},
ticks=none,
]
\addplot[black, opacity = 0, domain=0:10, name path = 1]{0};
\addplot[Tan, smooth, domain=0.01:7.5, samples = 300, name path=2, thick] {sin(deg(x))/x};
\addplot[Tan, fill opacity=0.25] fill between [of=1 and 2,soft clip={domain=0:3.1415}];
\end{axis}
\end{tikzpicture}
\caption{Integrating $\sin(x)/x$ from $0 \le x < \infty$.}
\label{1}
\end{figure}
\end{document}