特别突出的 yticklabels

特别突出的 yticklabels

由于 paraview 图例在 latex 文档中出现时看起来很糟糕,所以我想使用 Python 的 matplotlib 和 Nico 的matplotlib2tikz包裹。

所以我编写了一个python脚本matplotlib4colorbars,生成一个 tikz 文件,然后可以将其包含在 tex 文档中。单个文件中的 tex 部分内容为(您必须下载包含的图像图片1.png产生输出)

\documentclass[a4paper,10pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}

%opening
\begin{document}

\begin{figure}
    \newlength\figureheight
    \newlength\figurewidth
    \setlength\figureheight{8.5cm}
    \setlength\figurewidth{2cm}
%   \input{colorbar.tikz}
\begin{tikzpicture}

\begin{axis}[
title={$\mathbf{v_x}$},
xmin=0, xmax=0.07635,
ymin=-0.247, ymax=1.28,
axis on top,
scaled x ticks=false,
xtick={,,},
xticklabels={,,},
width=\figurewidth,
height=\figureheight
]
\addplot graphics [includegraphics cmd=\pgfimage,xmin=0, xmax=0.07635, ymin=-0.247, ymax=1.28] {img1.png};
\path [draw=black, fill opacity=0] (axis cs:13,1.28)--(axis cs:13,1.28);

\path [draw=black, fill opacity=0] (axis cs:0.07635,13)--(axis cs:0.07635,13);

\path [draw=black, fill opacity=0] (axis cs:13,-0.247)--(axis cs:13,-0.247);

\path [draw=black, fill opacity=0] (axis cs:0,13)--(axis cs:0,13);

\end{axis}

\end{tikzpicture}
\end{figure}

\end{document}

并且它产生了,我发现这比 paraview 传奇更有吸引力在此处输入图片描述

然而,我无法重现突出的yticklabels。所以问题是,如何使 pgfplot 具有边缘点作为标签?以及如何使这些边缘标签比其他标签大一点?

答案1

extra y ticks={<ymin>, <ymax>}您可以使用添加额外刻度的功能。包括您可以手动将值<ymin><ymax>写入环境的键。由于您已经在环境键中明确指定了限制和,axis因此您也可以使用。extra y ticks={\pgfkeysvalueof{/pgfplots/ymin}, \pgfkeysvalueof{/pgfplots/ymax}}yminymaxaxis

要使额外的刻度标签比其他刻度标签更大,请使用 指定样式every extra y tick/.style={font=\large}

所以axis环境应该是这样的

\begin{axis}[
title={$\mathbf{v_x}$},
xmin=0, xmax=0.07635,
ymin=-0.247, ymax=1.28,
axis on top,
scaled x ticks=false,
xtick={,,},
xticklabels={,,},
extra y ticks={
    \pgfkeysvalueof{/pgfplots/ymin},
    \pgfkeysvalueof{/pgfplots/ymax}
},
% alternatively
% extra y ticks={-0.247, 1.28},
every extra y tick/.style={
    font=\large,
    tick style=transparent, % avoid tick marks overlapping axis lines
    /pgf/number format/.cd,
    fixed,
    precision=3
},
width=\figurewidth,
height=\figureheight
]

输出结果

額外的刻度。

这会导致刻度标签非常紧密,因此有可能将其包含 yticklabel pos=right在样式中every extra y tick/.style

\begin{axis}[
title={$\mathbf{v_x}$},
xmin=0, xmax=0.07635,
ymin=-0.247, ymax=1.28,
axis on top,
scaled x ticks=false,
xtick={,,},
xticklabels={,,},
extra y ticks={
    \pgfkeysvalueof{/pgfplots/ymin},
    \pgfkeysvalueof{/pgfplots/ymax}
},
% alternatively
% extra y ticks={-0.247, 1.28},
every extra y tick/.style={
    font=\large,
    tick style=transparent, % avoid tick marks overlapping axis lines
    yticklabel pos=right,
    /pgf/number format/.cd,
    fixed,
    precision=3
},
width=\figurewidth,
height=\figureheight
]

这给出了输出

右侧有额外的勾号。

如果你想要左边的数字更大,只需添加

yticklabel pos=right,
every extra y tick/.style={
    font=\large,
    tick style=transparent, % avoid tick marks overlapping axis lines
    yticklabel pos=left,
    /pgf/number format/.cd,
    fixed,
    precision=3
}

左侧有额外的刻度,右侧有正常的刻度。

相关内容