如何均匀分布 tikzpicture 图形的 y 刻度?

如何均匀分布 tikzpicture 图形的 y 刻度?

我想要在我的乳胶图上实现以下刻度分布:

在此处输入图片描述

即使每个 y 刻度之间的差异在增加,间距仍保持不变。我如何在乳胶图上反映这一点。这是我的代码

\begin{tikzpicture}
\begin{axis}[
    title={CPU-DRAM Gap},
    xlabel={Year},
    ylabel={Clock frequency (Hz)},
    xmin=1980, xmax=2000,
    ymin=1, ymax=1000,
    xtick={1980, 1985, 1990, 1995, 2000},
    ytick={1,10,100,1000},
    legend pos=north west,
    ymajorgrids=true,
    grid style=dashed,]

\addplot[
    color=blue,]
    coordinates {
    (1980,1)(1981,2)(1982,3)(1983,4)(1984,5)(1985,6)(1986,7)(1987,8)(1988,9)(1989,13)(1990,20)(1991,40)(1992,60)(1993,80)(1994,100)(1995,150)(1996,200)(1997,400)(1998,600)(1999,800)(2000,1000)};

\addplot[
    color=red,]
    coordinates {
    (1980,1)(1981,1.2)(1982,1.5)(1983,1.8)(1984,2.1)(1985,2.4)(1986,2.7)(1987,3)(1988,3.3)(1989,3.6)(1990,3.9)(1991,4.2)(1992,4.5)(1993,4.8)(1994,5.1)(1995,5.4)(1996,5.7)(1997,6)(1998,6.3)(1999,6.6)(2000,6.9)};

\end{axis}
\end{tikzpicture}

当前输出如下

在此处输入图片描述

如何在我的乳胶图上均匀分布 y 刻度,如初始图所示?

答案1

干得好:

在此处输入图片描述

\documentclass[border=2cm]{standalone}

\usepackage{tikz}
\usepackage{pgfplots}
\usetikzlibrary{plotmarks}

\begin{document}

\pgfplotsset{
every axis plot post/.append style={
mark=square*, mark color = green}}

\begin{tikzpicture}
\begin{semilogyaxis}[
    title={CPU-DRAM Gap},
    xlabel={Year},
    ylabel={Clock frequency (Hz)},
    xmin=1980, xmax=2000,
    ymin=1, ymax=1000,
    xtick=data,
    ytick={1,10,100,1000},
    legend pos=north west,
    ymajorgrids=true,
    yminorticks=false,
    grid style=dashed,
    log ticks with fixed point,
    x tick label style={rotate=90,anchor=east},
    x label style={at={(axis description cs:0.5,-.2)},anchor=north},
    height = 6cm,
    width = 14cm,
    axis x line=bottom,
    axis y line=left,
    axis line style={-|}]

\addplot[mark options={fill=red}]
    coordinates {
    (1980,1)(1981,2)(1982,3)(1983,4)(1984,5)(1985,6)(1986,7)(1987,8)(1988,9)(1989,13)(1990,20)(1991,40)(1992,60)(1993,80)(1994,100)(1995,150)(1996,200)(1997,400)(1998,600)(1999,800)(2000,1000)};

\addplot[mark options={fill=green}]
    coordinates {
    (1980,1)(1981,1.2)(1982,1.5)(1983,1.8)(1984,2.1)(1985,2.4)(1986,2.7)(1987,3)(1988,3.3)(1989,3.6)(1990,3.9)(1991,4.2)(1992,4.5)(1993,4.8)(1994,5.1)(1995,5.4)(1996,5.7)(1997,6)(1998,6.3)(1999,6.6)(2000,6.9)};

\legend{CPU, DRAM}

\end{semilogyaxis}
\end{tikzpicture}


\end{document}

另外,你应该看看你的数据,因为我认为你没有从原始图表中得到正确的数字。因此出现了波浪。

相关内容