如何防止具有固定精度的pgfplots中四舍五入和重复的刻度标签?

Sören Schulze 06/06/2015. 1 answers, 644 views
tikz-pgf pgfplots

我有一个情节,其y轴是线性的,具有固定的精度并且没有缩放。

  \ {的DocumentClass独立}  \ usepackage {pgfplots}  \ pgfplotsset {COMPAT = 1.11}   \ {开始}文件  \ {开始} tikzpicture    \开始{轴} [域= -0.1:0.1,                 / pgf / number format / precision = 3}]      \ addplot + {x ^ 3};    \ {端轴}  \ {端} tikzpicture  \ {端文档} 

f(x)= x ^ 3

y tick标签的表现力很小,因为pgf在中间圆整为0.0005至0.001,产生了矛盾标签。 我真的不想提高精度(页面上的空间限制),所以显然最好的解决方案是删除中间的“( - )0.001”滴答。 有没有一个pgfplots选项来实现这一点? 一个说“不要放蜱,使标签变圆”,“标签之间的最小差异应该是0.001”或相似。

我的文档中有100个类似的图表来自数据,这些图表可能会发生变化,所以手动指定y记号不是首选。

1 Comments
Sören Schulze 06/06/2015
我宁愿他们不要缩放,因为100个地块,每个都有不同的缩放比例,会令人困惑。 但是,是的,也许增加一些(固定?)缩放是最好的解决方案,如果我想要做的是不可能的。

1 Answers


percusse 06/06/2015.

一种可能性是比较修剪后的版本是否与原始的订单号不同。 但这是一个相当普遍的规范,所以如果你的其他99个地块有不同的奇怪间隔,我不认为这将是万无一失的

\documentclass{standalone}
\pgfplotsset{compat=1.12}
\begin{document}
\begin{tikzpicture}
  \begin{axis}[domain=-0.1:0.1,
               yticklabel style={scaled ticks=false,
                                 /pgf/number format/fixed,
                                 /pgf/number format/precision=3},
  yticklabel={%
    \pgfmathprintnumberto[verbatim,fixed,precision=3]{\tick}\possiblytrimmedtick%
    \pgfmathparse{\possiblytrimmedtick == \tick ? int(1):int(0)}%
    \ifnum\pgfmathresult>0\relax$\tick$\else\fi%
 }
]
    \addplot+ { x^3 };
  \end{axis}
\end{tikzpicture}
\end{document} 

在这里输入图像描述

1 comments
Sören Schulze 06/06/2015
抑制蜱本身(不仅仅是标签)是理想的,但除此之外,它对我来说效果很好。 编辑:我想我会像这样离开它。

Related questions

Hot questions

Language

Popular Tags