我想tikzpicture
在我的文档中放入许多 s。由于每个stikzpicture
都有自己的大小,我不知道如何管理所有图片的字体大小。有些tikzpicture
s 的大小为\textwidth
,有些为0.5\textwidth
,有些为0.4\textwidth
。有人能帮我找到让图片的刻度、标签和文本的所有字体大小相同的最佳方法吗?当我查看文档时,我看不到图片之间的一致性。我该如何标准化所有图片?我很想听听其他人的意见。
举例来说,假设有以下图片。
从图中可以看出,将 缩放到 和 后,字体大小有所不同tikzpicture
。0.5
对于1.0
,scale=0.5
图片难以阅读。话虽如此,假设文档中有两张完全不同的图片。我该如何强制这两张图片的字体大小相同?在我的文档中,一张图片的 x 轴范围从 1 到 10,另一张图片的 x 轴范围从 2 到 3。为了容纳图片,例如,我必须使用0.5\textwidth
。例如,我希望文档中所有图片的 xtick 和 ytick 的字体大小都相同。我正在寻找实现此目标的方法。
答案1
根据您在其他帖子中创建此类图表的方式,您可以将一个width
选项传递给您的axis
命令,该命令会将图表缩放到指定的宽度而不影响文本。
% arara: pdflatex: { shell: yes }
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.7}
\begin{document}
\begin{tikzpicture}
\begin{axis}[width=5cm,
axis on top,
xmin=-1, xmax=1,
ymin=-1, ymax=1,
view={0}{90},
xlabel = {$x$},
ylabel = {$\sigma$},
]
\addplot3[
contour gnuplot = {contour label style={
nodes={text=black},
/pgf/number format/fixed,
/pgf/number format/fixed zerofill=true,
/pgf/number format/precision=1,}},
contour/draw color={black},
contour/label distance=1000pt,
]
{exp(-(x^2+y^2)};
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}
\begin{axis}[width=5cm,
axis on top,
xmin=0, xmax=4,
ymin=0, ymax=3,
view={0}{90},
xlabel = {$x$},
ylabel = {$\sigma$},
]
\addplot3[
contour gnuplot = {contour label style={
nodes={text=black},
/pgf/number format/fixed,
/pgf/number format/fixed zerofill=true,
/pgf/number format/precision=1,}},
contour/draw color={black},
contour/label distance=1000pt,
]
{exp(-(x^2+y^2)};
\end{axis}
\end{tikzpicture}
\end{document}
答案2
我不确定你在说什么。 TikZ 的优点之一是,除非你使用transform canvas
,否则字体大小在文档的所有环境中都保持一致tikzpicture
。例如:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tabular}{cc}
\begin{tikzpicture}[scale=5]
\draw (0,0) rectangle (1,1);
\draw (.5,.5) node {hello};
\end{tikzpicture}
&
\begin{tikzpicture}[scale=3]
\draw (0,0) rectangle (1,1);
\draw (.5,.5) node {hello};
\end{tikzpicture}
\end{tabular}
\end{document}
你应该发布最小工作示例(MWE)这清楚地说明了你的问题。