Das Ausfüllen des Bereichs unter der Kurve verursacht Ausrichtungsprobleme

Das Ausfüllen des Bereichs unter der Kurve verursacht Ausrichtungsprobleme

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:

Bildbeschreibung hier eingeben

Wenn ich die Zeile auskommentiere, um den Bereich auszufüllen, geschieht Folgendes:

Bildbeschreibung hier eingeben

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 pgfplotssonst, 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 fillbetweenlä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}

Bildbeschreibung hier eingeben

verwandte Informationen