我有下面的 MWE。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{arrows}
\begin{document}
\begin{tikzpicture}[{x=(1mm,0)},{y=(0,1mm)}]
\small
\def\verticallength{50}
\def\horizontallength{80}
\def\ticksemilength{2}
\draw
(0, 0)
rectangle(\horizontallength, \verticallength)
;
\foreach \stp in {0,1,...,10}{
\pgfmathparse{\stp/10}
\pgfmathprintnumberto{\pgfmathresult}{\coeff}
\pgfmathparse{1900+\stp*10}
\pgfmathprintnumberto{\pgfmathresult}{\years}
\draw
(\ticksemilength, \stp*\verticallength/10)--++
(-2*\ticksemilength, 0)
node[left]{\coeff}
(\stp*\horizontallength/10, \ticksemilength)--++
(0, -2*\ticksemilength)
node[below]{\years}
;
}
\end{tikzpicture}
\end{document}
这里的矩形代表相同宽度和大小的 PNG 图形。
我的问题是:如何显示第二个垂直值0.1
而不是 $1 \cdot 10^{-1}$?如何从水平值中删除逗号?
谢谢。
答案1
为了获得更好的结果和更高效的工作,我建议您axis
在解决方案中实施。
以下是代码
\documentclass[]{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
scaled ticks = false,
tick label style={/pgf/number format/fixed},
xlabel={years},
ylabel={coefficient},
width=16cm,
height=10cm,
xtick={1900,1910,...,2000},
ytick={0,0.1,0.2,...,1},
xmin=1900,
xmax=2000,
ymin=-0.1,
ymax=1]
\end{axis}
\end{tikzpicture}
\end{document}
产生更优雅的输出