在图中显示所有比例值时出现问题

在图中显示所有比例值时出现问题

我编写了这个乳胶代码来生成线条图。我怎样才能使边具有每个值而不是只有偶数值?谢谢。

代码:

 \documentclass{article}
    \usepackage{tikz}
    \usepackage{pgfplots}

\usetikzlibrary{calc}

\begin{document}
\begin{tikzpicture}
        \begin{axis}[
            name = plot,
            xlabel=Input File,
            ylabel=Execution Time]
        \addplot[color=red, mark=*] coordinates {
            (1,0)
            (2,1)
            (3,2)
            (4,3)
            (5,4)
            (6,5)
            (7,6)
            (8,7)
            (9,8)
            (10,10)
        };\label{C}
        \addplot[color=blue, mark=*] coordinates {
            (1,1)
            (2,-1)
            (3,5)
            (4,5)
            (5,6)
            (6,3)
            (7,4)
            (8,2)
            (9,10)
            (10,4)
        };\label{Py}
        \end{axis}
        \node[anchor=north,fill=white,draw=black] (legend) at ($(plot.north)-(0 mm, 1 mm)$) {\begin{tabular}{l l}
            C & \ref{C} \\
            Py & \ref{Py}
        \end{tabular} };
\end{tikzpicture}
\end{document}

我希望红色的值从坐标中的第一个到最后一个,而不仅仅是偶数

答案1

xtick和的间距可以通过和ytick控制。对于您的情况,请将两者都设置为 1:xtick distanceytick distance

\begin{axis}[
name = plot,
xtick distance=1,
ytick distance=1,
xlabel=Input File,
ylabel=Execution Time]

答案2

对于刻度之间的间隔,您可以使用xtick distance=1ytick distance=1。我添加了xmin=0hide obscured x ticks=false以在横坐标 0 处显示 x 刻度,另外还添加了一种更惯用的方式来组合具有所需外观的图例。

图例代码使用:

  • 在环境选项中axislegend style={at={([yshift=-1mm]0.5,1)}, anchor=north}用于图例放置以及legend plot pos=right在左右位置之间交换标记和标签;

  • 在相应的\addplot命令之后,\addlegendentry{C}\addlegendentry{Py}

\documentclass[tikz, border=1mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}       % for instance, but 1.16 works as well

\begin{document}
\begin{tikzpicture}
  \begin{axis}[
      xlabel=Input file,
      ylabel=Execution time,
      xtick distance=1,
      ytick distance=1,
      xmin=0,                      % Added to make the
      hide obscured x ticks=false, % xtick at 0 visible.
      legend style={at={([yshift=-1mm]0.5,1)}, anchor=north},
      legend plot pos=right,
      ]
  \addplot[color=red, mark=*] coordinates {
      (1,0)
      (2,1)
      (3,2)
      (4,3)
      (5,4)
      (6,5)
      (7,6)
      (8,7)
      (9,8)
      (10,10)
  };
  \addlegendentry{C}
  \addplot[color=blue, mark=*] coordinates {
      (1,1)
      (2,-1)
      (3,5)
      (4,5)
      (5,6)
      (6,3)
      (7,4)
      (8,2)
      (9,10)
      (10,4)
  };
  \addlegendentry{Py}
  \end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容