三元图中的刻度未对齐

三元图中的刻度未对齐

我正在使用TikZ三元图,在更改轴范围后,刻度线出现错位问题。下面给出了一个示例,其中 ymax设置为0.8,但实际上似乎在图中获得了最大值。然而,只有刻度线处于错误的位置。绘制的值处于正确的位置,如最小工作示例中的 x 所示。这种错位取决于值,例如,如果设置为,0.8/0.99则不会发生。我该如何消除这种错位?ymax0.6

下面给出了最小工作示例。

\documentclass[10pt]{scrartcl}

\usepackage[utf8x]{inputenc}

\pagestyle{empty}

\usepackage{pgfplots}

\pgfplotsset{compat=newest}

\usepgfplotslibrary{ternary}

\usepackage{tikz}

\usepackage{tikz-3dplot}

\usepackage[active,tightpage]{preview}

\PreviewEnvironment{tikzpicture}

\begin{document}

\begin{tikzpicture}

\begin{ternaryaxis}[
ternary limits relative=false,
width=7.5cm,
height=7.5cm,
ymax=0.8,
]

\addplot3[only marks, mark = x]
table{
0    0.8    0
};

\end{ternaryaxis}

\end{tikzpicture}

\end{document}

答案1

这是一个错误。我已在开发版本中修复了它(将成为下一个稳定版本的一部分)。

针对版本 1.8(及更早版本)的解决方法是添加开关disabledatascaling

\documentclass{standalone}

\usepackage{pgfplots}

\pgfplotsset{compat=1.8}

\usepgfplotslibrary{ternary}

\begin{document}

\begin{tikzpicture}

\begin{ternaryaxis}[
ternary limits relative=false,
width=7.5cm,
height=7.5cm,
ymax=0.8,
clip=false,
disabledatascaling,
]

\addplot3[only marks, mark = x]
table{
0    0.8    0
};

\end{ternaryaxis}

\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容