如何使用 pgfplots 为轴上的第一个元素添加边距?

如何使用 pgfplots 为轴上的第一个元素添加边距?

我想在 x 和 y 轴上的 0 处添加边距,这样当我有点 (0,y) 和 (x,0) 时,我的标记就不会站在轴本身上。

如何为轴上的第一个元素添加边距?

在此处输入图片描述

\documentclass{article}
\usepackage[margin=0.5in]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{textcomp}

\usepackage{pgfplots}
\pgfplotsset{width=15cm,compat=1.9}
%\usepgfplotslibrary{external}
%\tikzexternalize

\begin{document}

\begin{figure}
\centering
\begin{tikzpicture}
\begin{axis}[
    title={\textbf{Temperature dependence of CuSO$_4\cdot$5H$_2$O solubility}},
    xlabel={Temperature [\textcelsius]},
    ylabel={Solubility [g per 100 g water]},
    xmin=0, xmax=120,
    ymin=0, ymax=120,
    xtick={0,20,40,60,80,100},
    ytick={0,20,40,60,80,100,120},
    legend pos=north west,
    ymajorgrids=true,
    grid style=dashed,
]

\addplot[
    color=blue,
    mark=*,
    mark options={scale=1.50}
    ]
    coordinates {
    (1,23.1)(10,27.5)(20,32)(30,37.8)(40,44.6)(60,61.8)(80,83.8)(100,114)
    };

\addplot[
    color=red,
    mark=triangle*,
    mark options={scale=1.50},
    ]
    coordinates {
    (1,25.8)(10,29.5)(20,34)(30,39)(40,48)(60,64)(80,86)(100,117)
    };
    \legend{Local, Oraclize}    

\end{axis}
\end{tikzpicture}
\end{figure}

\end{document}

答案1

您的代码中已经有了答案:,,,,,xmin它设置了轴限制,因此您可以将这些值更改为您认为合适的值xmaxyminymax

或者,您可以删除所有这些设置,在这种情况下,pgfplots将设置轴限制,以便显示所有数据,并且数据周围有一些填充。您还可以使用选项修改填充量enlargelimits。例如,如果您添加enlargelimits=0.05到选项中axis,填充将为数据范围的 5%。

\documentclass{article}
\usepackage[margin=0.5in]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{textcomp}

\usepackage{pgfplots}
\pgfplotsset{width=15cm,compat=1.9}
%\usepgfplotslibrary{external}
%\tikzexternalize

\begin{document}

\begin{figure}
\centering
\begin{tikzpicture}
\begin{axis}[
    title={\textbf{Temperature dependence of CuSO$_4\cdot$5H$_2$O solubility}},
    xlabel={Temperature [\textcelsius]},
    ylabel={Solubility [g per 100 g water]},
    xtick={0,20,40,60,80,100},
    ytick={0,20,40,60,80,100,120},
    legend pos=north west,
    ymajorgrids=true,
    grid style=dashed,
]

\addplot[
    color=blue,
    mark=*,
    mark options={scale=1.50}
    ]
    coordinates {
    (0,23.1)(10,27.5)(20,32)(30,37.8)(40,44.6)(60,61.8)(80,83.8)(100,114)
    };

\addplot[
    color=red,
    mark=triangle*,
    mark options={scale=1.50},
    ]
    coordinates {
    (0,25.8)(10,29.5)(20,34)(30,39)(40,48)(60,64)(80,86)(100,117)
    };
    \legend{Local, Oraclize}    

\end{axis}
\end{tikzpicture}
\end{figure}

\end{document}

相关内容