我想禁用绘图的顶部边框。为此,我使用了axis x line = bottom
。但是,这会改变绘图内容(最左侧和最右侧的栏现在被隐藏)。如何在不更改绘图内容的情况下实现此目的?
这是一个简单的例子:
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{xcolor}
\usepackage{pgfplots}
\usepgfplotslibrary{dateplot}
\usepackage{filecontents}
\pgfplotsset{
axis x line = bottom,
every x tick label/.append style={rotate=45,anchor=east,yshift=-0.3cm},
}
\begin{filecontents}{minimal.csv}
Datum;A;B;X;Y
2017-05-01;2.92;4.08;135861;14767
2017-06-01;2.92;4.08;135861;14767
2017-07-01;2.85;4.85;137600;96389
2017-08-01;2.78;5.42;137032;16351
2017-09-01;2.75;5.40;108018;56753
2017-10-01;2.66;4.97;156561;40026
\end{filecontents}
\begin{document}
\begin{figure}[ht]
\centering
\begin{tikzpicture}
\begin{axis}[
date coordinates in=x,
ybar,
xtick=data,
]
\addplot table [x = Datum, y = X, col sep=semicolon] {minimal.csv};
\addplot table [x = Datum, y = Y, col sep=semicolon] {minimal.csv};
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}
答案1
您可以使用带星号的版本:axis x line*=bottom
。摘自 pgfplots 手册:
带星号的版本 . . . line* 仅影响轴线,而不会修正轴标签、刻度线或其他可能受轴线改变影响的键的位置。
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{pgfplots}% loads tikz, xcolor, graphicx
\pgfplotsset{compat=1.15}% <- added, current version is 1.15
\usepgfplotslibrary{dateplot}
\usepackage{filecontents}
\pgfplotsset{
axis x line* = bottom,% <- changed
every x tick label/.append style={rotate=45,anchor=east,yshift=-0.3cm},
}
\begin{filecontents}{minimal.csv}
Datum;A;B;X;Y
2017-05-01;2.92;4.08;135861;14767
2017-06-01;2.92;4.08;135861;14767
2017-07-01;2.85;4.85;137600;96389
2017-08-01;2.78;5.42;137032;16351
2017-09-01;2.75;5.40;108018;56753
2017-10-01;2.66;4.97;156561;40026
\end{filecontents}
\begin{document}
\begin{figure}[ht]
\centering
\begin{tikzpicture}
\begin{axis}[
date coordinates in=x,
ybar,
xtick=data,
]
\addplot table [x = Datum, y = X, col sep=semicolon] {minimal.csv};
\addplot table [x = Datum, y = Y, col sep=semicolon] {minimal.csv};
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}
注意建议compat
在加载后添加pgfplots
。当前版本是1.15。