
다음 데이터를 막대 그래프로 플롯하고 싶습니다. 여기서 각 막대의 너비는 축 단위로 784.7913898303067입니다.
-8907.243859923638 2.178160631669683e-06
-8122.452470093331 8.712642526678732e-06
-7337.661080263024 4.356321263339366e-06
-6552.869690432717 1.0890803158348416e-05
-5768.07830060241 1.7425285053357465e-05
-4983.2869107721035 1.9603445685027148e-05
-4198.495520941797 3.9206891370054296e-05
-3413.70413111149 6.752297958176017e-05
-2628.912741281183 0.00012415515600517195
-1844.1213514508763 0.00015900572611188686
-1059.3299616205695 0.00018949997495526245
-274.53857179026284 0.00020039077811361084
510.25281804004385 0.00016989652927023528
1295.0442078703504 0.00011326435284682353
2079.835597700657 7.62356221084389e-05
2864.626987530964 3.267240947504525e-05
3649.418377361271 1.5247124421687783e-05
4434.209767191577 4.356321263339366e-06
5219.001157021884 4.356321263339366e-06
6003.792546852191 1.0890803158348416e-05
6788.583936682498 0.0
7573.375326512804 4.356321263339366e-06
8358.16671634311 0.0
9142.958106173417 0.0
내가 뭐하는 거지:
\begin{tikzpicture}
\begin{axis}
[
width=\linewidth,
title = {Late Speed Distribution},
xlabel = {$v$~[m/s]},
ylabel = {Probability Density},
]
\addplot[ybar, white!45!blue, fill = white!45!blue,bar width=784.7913898303067] table {barSpeeds.txt};
\addplot[thick, red, domain=-10500:10500, samples=100] {0.00016312130913239263 * exp(-8.359326130920716e-08*x*x)} node[black, pos = 0, anchor=south west]{$P(v_x) = \sqrt{\frac{m}{2\pi K_B T}}\exp\left(-\frac{1}{2}\frac{mv_x^2}{K_BT}\right)$};
\end{axis}
하지만 내 생각에는 막대 너비 매개변수가 다른 단위에서도 작동하는 것 같습니다. 축 환경 이전을 사용하여 작동하게 했지만 \pgfplotsset{compat=1.8}
다른 이유로 전체 그림이 아래쪽으로 이동하고 이 그림 옆에 있는 다른 그림과 관련하여 잘못 정렬됩니다.
편집하다:
를 사용하면 \pgfplotsset{compat=1.8}
문제가 부분적으로 해결됩니다. 축 단위로 너비를 설정할 수 있습니다. 그런데 어떤 이유로(왜?) 내 이미지의 위치가 바뀌고 더 이상 정렬되지 않습니다.
\documentclass[11pt]{article}
\usepackage[top=2.54cm, bottom=2.54cm, left=2.75cm, right=2.75cm]{geometry}
\usepackage{float}
\usepackage{subcaption}
\usepackage{pgfplots}
\usepackage{amsmath}
\begin{filecontents*}{barSpeeds2.txt}
-8907.243859923638 2.178160631669683e-06
-8122.452470093331 8.712642526678732e-06
-7337.661080263024 4.356321263339366e-06
-6552.869690432717 1.0890803158348416e-05
-5768.07830060241 1.7425285053357465e-05
-4983.2869107721035 1.9603445685027148e-05
-4198.495520941797 3.9206891370054296e-05
-3413.70413111149 6.752297958176017e-05
-2628.912741281183 0.00012415515600517195
-1844.1213514508763 0.00015900572611188686
-1059.3299616205695 0.00018949997495526245
-274.53857179026284 0.00020039077811361084
510.25281804004385 0.00016989652927023528
1295.0442078703504 0.00011326435284682353
2079.835597700657 7.62356221084389e-05
2864.626987530964 3.267240947504525e-05
3649.418377361271 1.5247124421687783e-05
4434.209767191577 4.356321263339366e-06
5219.001157021884 4.356321263339366e-06
6003.792546852191 1.0890803158348416e-05
6788.583936682498 0.0
7573.375326512804 4.356321263339366e-06
8358.16671634311 0.0
9142.958106173417 0.0
\end{filecontents*}
\begin{filecontents*}{radialT2.txt}
x y z
0 724.6251253 27.23673321
0.00011625 519.0500608 21.50619688
0.0002325 471.8535621 20.0953379
0.00034875 458.3159477 20.51917732
0.000465 378.1946348 15.32643944
0.00058125 402.6761363 16.59979084
0.0006975 330.7735982 12.35631702
0.00081375 483.4846951 17.4573978
0.00093 879.0654654 17.75191929
\end{filecontents*}
\begin{document}
\begin{figure}[H]
\begin{subfigure}[b]{0.49\textwidth}
\centering
\begin{tikzpicture}
\pgfplotsset{compat=1.16}
\begin{axis}
[
width=\linewidth,
title = {Late Speed Distribution},
xlabel = {$v$~[m/s]},
ylabel = {Probability Density},
]
\addplot[ybar, white!45!blue, fill = white!45!blue,bar width=784.7913898303067] table {barSpeeds2.txt};
\addplot[thick, red, domain=-10500:10500, samples=100] {0.00016312130913239263 * exp(-8.359326130920716e-08*x*x)} node[black, pos = 1, anchor=south west]{$P(v_x) = \sqrt{\frac{m}{2\pi K_B T}}\exp\left(-\frac{1}{2}\frac{mv_x^2}{K_BT}\right)$};
\end{axis}
\end{tikzpicture}
\label{fig:tempProbab}
\end{subfigure}
\begin{subfigure}[b]{0.49\textwidth}
\centering
\begin{tikzpicture}
\begin{axis}
[
width=\linewidth,
title = {Temperature Radial Distribution},
xlabel = $r~\text{[m]}$,
ylabel = {Temperature~[K]},
]
\addplot [blue,dashed,thick]
plot [error bars/.cd, y dir = both, y explicit]
table[y error index=2]{radialT2.txt};
\end{axis}
\end{tikzpicture}
\label{fig:radialTemp}
\end{subfigure}
\caption{(a) . (b) .}
\end{figure}
\end{document}
현재 모습은 다음과 같습니다. 그래프와 겹치지 않는 플롯의 어딘가에 방정식을 자동으로 설정할 수 있는 방법이 있습니까?
답변1
질문을 이해하지 못할 수도 있지만 조각을 문서로 완성하면 버전에서 원하는 결과를 얻을 수 있습니다 1.17
( 1.15
그리고 1.16
테스트하지 않은 다른 버전에서도 동일한 결과를 얻습니다).
\documentclass{article}
\begin{filecontents*}{barSpeeds.txt}
-8907.243859923638 2.178160631669683e-06
-8122.452470093331 8.712642526678732e-06
-7337.661080263024 4.356321263339366e-06
-6552.869690432717 1.0890803158348416e-05
-5768.07830060241 1.7425285053357465e-05
-4983.2869107721035 1.9603445685027148e-05
-4198.495520941797 3.9206891370054296e-05
-3413.70413111149 6.752297958176017e-05
-2628.912741281183 0.00012415515600517195
-1844.1213514508763 0.00015900572611188686
-1059.3299616205695 0.00018949997495526245
-274.53857179026284 0.00020039077811361084
510.25281804004385 0.00016989652927023528
1295.0442078703504 0.00011326435284682353
2079.835597700657 7.62356221084389e-05
2864.626987530964 3.267240947504525e-05
3649.418377361271 1.5247124421687783e-05
4434.209767191577 4.356321263339366e-06
5219.001157021884 4.356321263339366e-06
6003.792546852191 1.0890803158348416e-05
6788.583936682498 0.0
7573.375326512804 4.356321263339366e-06
8358.16671634311 0.0
9142.958106173417 0.0
\end{filecontents*}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
\begin{document}
\begin{tikzpicture}
\begin{axis}
[
width=0.9\linewidth,
title = {Late Speed Distribution},
xlabel = {$v$~[m/s]},
ylabel = {Probability Density},
]
\addplot[ybar, white!45!blue, fill = white!45!blue,bar width=784.7913898303067] table {barSpeeds.txt};
\addplot[thick, red, domain=-10500:10500, samples=100] {0.00016312130913239263 * exp(-8.359326130920716e-08*x*x)} node[black, pos = 0, anchor=south west]{$P(v_x) = \sqrt{\frac{m}{2\pi K_B T}}\exp\left(-\frac{1}{2}\frac{mv_x^2}{K_BT}\right)$};
\end{axis}
\end{tikzpicture}
\end{document}
이것이 질문에 대한 답이 아닐 경우, 적어도 그것을 정의하는 데 도움이 될 수 있습니다.
업데이트된 질문에 관해서는: 어쨌든 IMHO해야 하는 하위 그림 캡션을 추가하면 주요 문제가 사라집니다. 공식의 가시성에 관해서는 제가 아는 한 마술적인 트릭은 없습니다. 나는 두 가지 임시 가능성을 추가했습니다: contour
그리고 증가 ymax
.
\documentclass[11pt]{article}
\usepackage[top=2.54cm, bottom=2.54cm, left=2.75cm, right=2.75cm]{geometry}
\usepackage{float}
\usepackage{subcaption}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
\usepackage[outline]{contour}
\contourlength{0.6pt}
\usepackage{amsmath}
\begin{filecontents*}{barSpeeds2.txt}
-8907.243859923638 2.178160631669683e-06
-8122.452470093331 8.712642526678732e-06
-7337.661080263024 4.356321263339366e-06
-6552.869690432717 1.0890803158348416e-05
-5768.07830060241 1.7425285053357465e-05
-4983.2869107721035 1.9603445685027148e-05
-4198.495520941797 3.9206891370054296e-05
-3413.70413111149 6.752297958176017e-05
-2628.912741281183 0.00012415515600517195
-1844.1213514508763 0.00015900572611188686
-1059.3299616205695 0.00018949997495526245
-274.53857179026284 0.00020039077811361084
510.25281804004385 0.00016989652927023528
1295.0442078703504 0.00011326435284682353
2079.835597700657 7.62356221084389e-05
2864.626987530964 3.267240947504525e-05
3649.418377361271 1.5247124421687783e-05
4434.209767191577 4.356321263339366e-06
5219.001157021884 4.356321263339366e-06
6003.792546852191 1.0890803158348416e-05
6788.583936682498 0.0
7573.375326512804 4.356321263339366e-06
8358.16671634311 0.0
9142.958106173417 0.0
\end{filecontents*}
\begin{filecontents*}{radialT2.txt}
x y z
0 724.6251253 27.23673321
0.00011625 519.0500608 21.50619688
0.0002325 471.8535621 20.0953379
0.00034875 458.3159477 20.51917732
0.000465 378.1946348 15.32643944
0.00058125 402.6761363 16.59979084
0.0006975 330.7735982 12.35631702
0.00081375 483.4846951 17.4573978
0.00093 879.0654654 17.75191929
\end{filecontents*}
\begin{document}
\begin{figure}[H]
\begin{subfigure}[b]{0.49\textwidth}
\centering
\begin{tikzpicture}
\pgfplotsset{compat=1.16}
\begin{axis}
[
width=\linewidth,
title = {Late Speed Distribution},
xlabel = {$v$~[m/s]},
ylabel = {Probability Density},
]
\addplot[ybar, white!45!blue, fill = white!45!blue,bar width=784.7913898303067] table {barSpeeds2.txt};
\addplot[thick, red, domain=-10500:10500, samples=100]
{0.00016312130913239263 * exp(-8.359326130920716e-08*x*x)}
node[black, pos = 0.5, anchor=south]{\contour{white}{$P(v_x) =
\sqrt{\frac{m}{2\pi\, k_\mathrm{B}\,
T}}\exp\left(-\frac{1}{2}\frac{m\,v_x^2}{k_\mathrm{B}\,T}\right)$}};
\end{axis}
\end{tikzpicture}
\caption{}
\label{fig:tempProbab-2}
\end{subfigure}
\begin{subfigure}[b]{0.49\textwidth}
\centering
\begin{tikzpicture}
\begin{axis}
[
width=\linewidth,
title = {Temperature Radial Distribution},
xlabel = $r~\text{[m]}$,
ylabel = {Temperature~[K]},
]
\addplot [blue,dashed,thick]
plot [error bars/.cd, y dir = both, y explicit]
table[y error index=2]{radialT2.txt};
\end{axis}
\end{tikzpicture}
\caption{}
\label{fig:radialTemp-2}
\end{subfigure}
\caption{Using \texttt{contour}.}
\end{figure}
\begin{figure}[h]
\begin{subfigure}[b]{0.49\textwidth}
\centering
\begin{tikzpicture}
\pgfplotsset{compat=1.16}
\begin{axis}
[
width=\linewidth,
title = {Late Speed Distribution},
xlabel = {$v$~[m/s]},
ylabel = {Probability Density},
ymax=2.6e-4
]
\addplot[ybar, white!45!blue, fill = white!45!blue,bar width=784.7913898303067] table {barSpeeds2.txt};
\addplot[thick, red, domain=-10500:10500, samples=100]
{0.00016312130913239263 * exp(-8.359326130920716e-08*x*x)}
node[black, pos = 0.5, anchor=south,yshift=5mm]{$P(v_x) =
\sqrt{\frac{m}{2\pi\, k_\mathrm{B}\,
T}}\exp\left(-\frac{1}{2}\frac{m\,v_x^2}{k_\mathrm{B}\,T}\right)$};
\end{axis}
\end{tikzpicture}
\caption{}
\label{fig:tempProbab}
\end{subfigure}
\begin{subfigure}[b]{0.49\textwidth}
\centering
\begin{tikzpicture}
\begin{axis}
[
width=\linewidth,
title = {Temperature Radial Distribution},
xlabel = $r~\text{[m]}$,
ylabel = {Temperature~[K]},
]
\addplot [blue,dashed,thick]
plot [error bars/.cd, y dir = both, y explicit]
table[y error index=2]{radialT2.txt};
\end{axis}
\end{tikzpicture}
\caption{}
\label{fig:radialTemp}
\end{subfigure}
\caption{Increasing \texttt{ymax} and shifting the node.}
\end{figure}
\end{document}