我编写了这个乳胶代码来生成线条图。我怎样才能使边具有每个值而不是只有偶数值?谢谢。
代码:
\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 distance
ytick distance
\begin{axis}[
name = plot,
xtick distance=1,
ytick distance=1,
xlabel=Input File,
ylabel=Execution Time]
答案2
对于刻度之间的间隔,您可以使用xtick distance=1
和ytick distance=1
。我添加了xmin=0
和hide obscured x ticks=false
以在横坐标 0 处显示 x 刻度,另外还添加了一种更惯用的方式来组合具有所需外观的图例。
图例代码使用:
在环境选项中
axis
:legend 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}