tikz 中 xy 轴的精度

tikz 中 xy 轴的精度

我有这个代码

  \begin{tikzpicture}

\begin{axis}[%
width=\figurewidth,
height=\figureheight,
scale only axis,
xmin=0,
xmax=1.5e-05,
ymin=1.222e-07,
ymax=1.224e-07
]
\addplot [color=red,line width=4.0pt,only marks,mark=*,mark options={solid},forget plot]
  table[row sep=crcr]{
1e-06   1.22231e-07 \\
2e-06   1.22234e-07 \\
3e-06   1.22239e-07 \\
4e-06   1.22246e-07 \\
5e-06   1.22255e-07 \\
6e-06   1.22266e-07 \\
7e-06   1.22279e-07 \\
8e-06   1.22294e-07 \\
9e-06   1.22311e-07 \\
1e-05   1.2233e-07  \\
};
\end{axis}
\end{tikzpicture}%


    \documentclass[12pt]{report}
\usepackage{pgfplots}
\usetikzlibrary{plotmarks}
\begin{document}

我在乳胶中称之为。

 \documentclass[12pt]{report}
\usepackage{pgfplots}
\usetikzlibrary{plotmarks}
\begin{document}
\begin{figure}[htbp]
  \centering 
  \setlength\figureheight{3in} 
  \setlength\figurewidth{2.5in} 
  \input{fit12.tex}
  \caption{ Figure}
\label{fig:2}
\end{figure}

\end{document}

我懂了在此处输入图片描述

我怎样才能用“x”替换“。”,正如您在 y 轴上看到的,三位数字的精度不够。我怎样才能更改标签精度?如果标签可以像在 matlab 中一样自动重新调整,那就太好了。

答案1

因为从问题来看,只有轴\cdot的乘数y必须改变,所以你可以使用

ytick scale label code/.code={$\times 10^{#1}$},

(与默认定义的唯一变化是\cdot被 \times 取代)。如果要更改两个轴乘数的 \cdot,您可以改为tick scale binop使用

tick scale binop={\times}

通过添加,可以将其设置为所有地块的全局设置

\pgfplotsset{tick scale binop={\times}}

回到序言。

要更改精度,您可以使用

/pgf/number format/precision=<value>

(默认<value>为 3)。完整示例:

\documentclass[12pt,titlepage]{report}
\usepackage{pgfplots}

\usepackage{filecontents}
\begin{filecontents*}{data.dat}
1e-06   1.22229e-07 
2e-06   1.22234e-07 
3e-06   1.22239e-07 
4e-06   1.22246e-07 
5e-06   1.22255e-07 
6e-06   1.22266e-07 
7e-06   1.22279e-07 
8e-06   1.22294e-07 
9e-06   1.22311e-07 
1e-05   1.2233e-07  
\end{filecontents*}

\begin{document}

\begin{tikzpicture}
\begin{axis}[%
%width=\figurewidth,
%height=\figureheight,
scale only axis,
xmin=0,
xmax=1.5e-05,
ymin=1.22224e-07,
ymax=1.2234e-07,
ytick =data,
ytick scale label code/.code={$\times 10^{#1}$},
/pgf/number format/precision=5
]
\addplot [color=red,line width=4.0pt,only marks,mark=*,mark options={solid},forget plot]
  table {data.dat};
\end{axis}  
\end{tikzpicture}

\end{document}

在此处输入图片描述

答案2

第一个问题可以通过添加选项来回答tick scale binop=\times。手册部分axis描述了使用该数字可以做的所有事情pgfplotsTick Scaling - Common Factors In Ticks

正在处理 x 刻度的精度......

相关内容