首頁>LaTeX>source

我拼凑了一个PGFplots檔案.它在18次中有16次工作.两次輸入檔案無效,輸入檔案非常類似.

錯誤:

! Dimension too large.
<recently read> \[email protected]

我尝試這个解決方案,錯誤成了

! Package PGF Math Error: Sorry, an internal routine of the floating point unit
got an ill-formatted floating point number `0.0'. The unreadable part was near
'0.0'..

! Illegal unit of measure (pt inserted).
<to be read again>

我還尝試修改輸入檔案中的小數位和 precision=3,中的數字 .這是怎麼迴事? 輸入中的數字對於TeX来說似乎太多了,但是其他檔案是相似的並且没有問题。

.tex   檔案

\documentclass[tikz]{standalone}
\usepackage{pgfplots}
%\usetikzlibrary{fpu}
%\pgfkeys{/pgf/fpu=true, /pgf/fpu/output format=fixed}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
    y tick label style={
        /pgf/number format/.cd,
        fixed,
        fixed zerofill,
        precision=3,
        /tikz/.cd
    },
]
\addplot table[domain=0:360] {pgf-test-631.dat};
\end{axis}
\end{tikzpicture}
\end{document}

資料檔案

000.0000000000   -5217.8683723600
 015.0000000000   -5217.8697310100
 030.0000000000   -5217.8734062100
 045.0000000000   -5217.8780573800
 060.0000000000   -5217.8817718100
 075.0000000000   -5217.8830629100
 090.0000000000   -5217.8817385100
 105.0000000000   -5217.8788803300
 120.0000000000   -5217.8769672400
 135.0000000000   -5217.8778445600
 150.0000000000   -5217.8811590700
 165.0000000000   -5217.8849278400
 180.0000000000   -5217.8866359200
 195.0000000000   -5217.8849276900
 210.0000000000   -5217.8811588800
 225.0000000000   -5217.8778444900
 240.0000000000   -5217.8769672200
 255.0000000000   -5217.8788803500
 270.0000000000   -5217.8817385800
 285.0000000000   -5217.8830622800
 300.0000000000   -5217.8817716900
 315.0000000000   -5217.8780572800
 330.0000000000   -5217.8734060900
 345.0000000000   -5217.8697309200
 360.0000000000   -5217.8683723600
最新回復
  • 2019-12-5
    1 #

    問题是第二列資料中的數字變化很小,它们都是 -5217.8.... .這给了 pgfplots   計算 yticks的問题 . pgfplots   手册指出你几乎無能為力,但在你的情况下並非如此.一種方法是讀取由 5217移位的資料   然後調整標簽。

    \documentclass[tikz]{standalone}
    \usepackage{pgfplots}
    \pgfplotsset{compat=1.14}
    \begin{document}
    \begin{tikzpicture}
      \begin{axis}[yticklabel={\pgfmathparse{\tick-5217}%
        $\pgfmathprintnumber[precision=3,zerofill]{\pgfmathresult}$}]
        \addplot table[domain=0:360,y expr=\thisrowno{1}+5217]
        {pgf-test-631.dat};
    \end{axis}
    \end{tikzpicture}
    \end{document}
    

    通過指定y值應从每行的第二个元素中获取,然後添加 5217来完成資料移位 :

    y expr=\thisrowno{1}+5217
    
    addplot table中   論點。 \thisrowno的論點   到毕業號 2   是value 1   因為列預設為零索引。

    然後通過获取刻度值,减去 5217来完成標簽print ,然後使用所需的數字格式print

    yticklabel={\pgfmathparse{\tick-5217}%
            $\pgfmathprintnumber[precision=3,zerofill]{\pgfmathresult}$}]
    

    請務必删除影响此標簽設置的其他選項。

  • LaTeX sectioning:如何使用乳膠或xetex中的孟加拉數字获取部分編號和頁碼?
  • LaTeX fancyhdr:ToC的两个頁面上的標题