我有这个代码:
\documentclass[11pt]{article}
\begin{filecontents*}{table.dat}
type v1 v2 v3 v4 v5 v6 v7
t1 0 0 0 0 0 0 0 0 0 0 0 0 0 6
t2 5 17 4 0 0 0 21 0 133 4 91 0 1 93
t3 18 0 0 0 18 0 15 0 0 111 37 0 0 48
t4 12 0 14 0 0 0 18 0 38 0 38 0 0 30
t5 3 69 4 0 64 0 69 0 80 29 6 0 1 21
t6 28 4 10 0 10 0 33 6 58 0 48 0 21 29
t7 25 144 2 0 0 0 180 0 200 0 193 0 52 370
\end{filecontents*}
\usepackage{pgfplots}
\pgfplotsset{compat=1.3}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\begin{figure}[h]
\begin{tikzpicture}
\begin{axis}[
ybar=2pt,
bar width=3pt,
width=\textwidth,
height=3cm,
axis lines=none,
ytick=\empty,
symbolic x coords={ t1, t2, t3, t4, t5, t6, t7 }
]
\addplot table[x=type, y=v1] {table.dat};
\addplot table[x=type, y=v2] {table.dat};
\addplot table[x=type, y=v3] {table.dat};
\addplot table[x=type, y=v4] {table.dat};
\addplot table[x=type, y=v5] {table.dat};
\addplot table[x=type, y=v6] {table.dat};
\addplot table[x=type, y=v7] {table.dat};
\end{axis}
\end{tikzpicture}
\end{figure}
\lipsum[1]
\end{document}
现在,由于没有边框、刻度、标签或任何东西,我假设这width=\textwidth
会将情节延伸到边缘,但这并没有发生。
我可以把情节延伸到整体\textwidth
吗?最多加上一些可调节的小填充。
请注意,我不想仅仅使用\scalebox
或类似的东西:我的意思是让情节具有自然的大小。
答案1
添加scale only axis
密钥:
\documentclass[11pt]{article}
\begin{filecontents*}{table.dat}
type v1 v2 v3 v4 v5 v6 v7
t1 0 0 0 0 0 0 0 0 0 0 0 0 0 6
t2 5 17 4 0 0 0 21 0 133 4 91 0 1 93
t3 18 0 0 0 18 0 15 0 0 111 37 0 0 48
t4 12 0 14 0 0 0 18 0 38 0 38 0 0 30
t5 3 69 4 0 64 0 69 0 80 29 6 0 1 21
t6 28 4 10 0 10 0 33 6 58 0 48 0 21 29
t7 25 144 2 0 0 0 180 0 200 0 193 0 52 370
\end{filecontents*}
\usepackage{pgfplots}
%\pgfplotsset{compat=1.3}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\begin{figure}[h]
\begin{tikzpicture}
\begin{axis}[
ybar=2pt,
bar width=3pt,
width=\textwidth,
height=3cm,
scale only axis,
axis lines=none,
ytick=\empty,
symbolic x coords={ t1, t2, t3, t4, t5, t6, t7 }
]
\addplot table[x=type, y=v1] {table.dat};
\addplot table[x=type, y=v2] {table.dat};
\addplot table[x=type, y=v3] {table.dat};
\addplot table[x=type, y=v4] {table.dat};
\addplot table[x=type, y=v5] {table.dat};
\addplot table[x=type, y=v6] {table.dat};
\addplot table[x=type, y=v7] {table.dat};
\end{axis}
\end{tikzpicture}
\end{figure}
\lipsum[1]
\end{document}