以下代码生成了彩色映射图。但是我想减小垂直尺寸,但不知道该怎么做。有人能给我提示吗?
\documentclass[a4paper,twocolumn]{article}
\usepackage{pgfplots}
\usepgfplotslibrary{external,colormaps}
\pgfplotsset{compat=1.10}
\usepackage{tikz}
\usetikzlibrary{arrows,shapes,positioning}
\tikzexternalize
\begin{document}
\begin{tikzpicture}
\begin{axis}[enlarge x limits=false,enlarge y limits=false,
ylabel=color of disk 1,
xlabel=$I_l$,
xtick={0,1,2,3},
ytick={0,1,2,3},
colorbar,
colorbar style={
yticklabels={,,}
},
colormap={summap}{
color=(blue); color=(red)
}]
\addplot[patch,shader=interp,
table/row sep=\\,
patch table with individual point meta={%
0 1 4 0 1 1\\
1 2 4 1 1 1\\
2 3 4 1 1 1\\
}] table[row sep=\\] {
x y \\
0 0 \\% 0
1 1 \\% 1
3 1 \\% 2
3 0 \\% 3
1 0 \\% 4
};
\end{axis}
\end{tikzpicture}
\end{document}
输出:
期望结果:
答案1
通过向 Pgfplots 轴环境明确添加width=7cm,height=3cm
选项,您可以控制绘图的大小。提供其中一个选项将保持纵横比不变,因此仅表现为缩放。
答案2
另一个选项是扩展整个tikzpicture
环境。您可以使用可选参数scale
、xscale
和来执行此操作yscale
。对于您的情况,您可能需要yscale
。
\documentclass[a4paper,twocolumn]{article}
\usepackage{pgfplots}
\usepgfplotslibrary{external,colormaps}
\pgfplotsset{compat=1.10}
\usepackage{tikz}
\usetikzlibrary{arrows,shapes,positioning}
\tikzexternalize
\begin{document}
\begin{tikzpicture}[yscale=0.5]
\begin{axis}[enlarge x limits=false,enlarge y limits=false,
ylabel=color of disk 1,
xlabel=$I_l$,
xtick={0,1,2,3},
ytick={0,1,2,3},
colorbar,
colorbar style={
yticklabels={,,}
},
colormap={summap}{
color=(blue); color=(red)
}]
\addplot[patch,shader=interp,
table/row sep=\\,
patch table with individual point meta={%
0 1 4 0 1 1\\
1 2 4 1 1 1\\
2 3 4 1 1 1\\
}] table[row sep=\\] {
x y \\
0 0 \\% 0
1 1 \\% 1
3 1 \\% 2
3 0 \\% 3
1 0 \\% 4
};
\end{axis}
\end{tikzpicture}
\end{document}