PGFplot 文件中 xticklabel 中的多行文本

PGFplot 文件中 xticklabel 中的多行文本

我正在使用 LaTeX、TikZ 和 PGFplots 来生成条形图,其中是从文件xticklabel中读取的。testdata.dat

下面的例子中,xticklabel是单行文本,即Big-Bed, Small-Bed。现在我想将它们分别改为双行文本Big \\ Bed, Small \\ Bed

不幸的是,当我用 替换 时-\\testdata.dat发现编译时出现一些错误。可能\\不允许。有谁能帮我把文本改成两行文本?testdat.datfileconcentsxticklabel

\documentclass{article} 
\usepackage{pgfplots} 
\usepackage{filecontents} 


\begin{filecontents}{testdata.dat} 
Label X-Position Height 
Big-Bed    1    15 
Small-Bed    2    20 
\end{filecontents}

% 
\begin{document} 
\begin{tikzpicture} 
\begin{axis}[ 
    ybar, 
    xtick=data,% crucial line for the xticklabels directive 
    ymin=0, 
    xticklabels from table={testdata.dat}{Label} 
] 

\addplot table [ 
    x=X-Position, 
    y=Height 
] {testdata.dat}; 

\end{axis} 
\end{tikzpicture}
\end{document}

答案1

如果要在节点名称中使用换行符,则必须让 TikZ 切换到某种文本格式模式。最简单的方法是进行对齐声明,以便它注意内容。您还可以将敏感的节点单元内容括起来以保护它们(可能有一些限制)

\documentclass{article} 
\usepackage{pgfplots} 
\usepackage{filecontents} 


\begin{filecontents}{testdata.dat} 
Label X-Position Height 
{Big\\BedHotel\\\$\$} 1 15 
{Small\\Bed\&Breakfast} 2 20 
\end{filecontents}

% 
\begin{document} 
\begin{tikzpicture} 
\begin{axis}[ 
    ybar, 
    xtick=data,% crucial line for the xticklabels directive 
    ymin=0, 
    xticklabels from table={testdata.dat}{Label},
        xticklabel style={align=center}
] 

\addplot table [ 
    x=X-Position, 
    y=Height 
] {testdata.dat}; 

\end{axis} 
\end{tikzpicture} 
\end{document}

在此处输入图片描述

相关内容