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