我在图表中添加了 4 个图例和不同类型的标记。另外,我希望图例位于 X 轴下方,并彼此成一行。图例的位置此外,我如何编写此图表的标题:图 1。不同类型的食源性病原体的增长。
\documentclass[border=5mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
color=black,
scale only axis,
xmin=0,
xmax=24,
%xtick={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24},
xtick={0,4,8,12,24}, %%%<------------- here
xlabel=\ {Time},
ymin=0,
ymax=10,
ytick={0,1,2,3,4,5,6,7,8,9,10},
yticklabels={0,1,2,3,4,5,6,7,8,9,10},
ylabel=\ {log(Cfu/cm$^{2}$)},
y axis line style={black},
ytick style={black},
yticklabel style={black},
axis x line*=bottom,
axis y line*=left,
tick align = outside,]
\addplot [
color=black,
solid,
line width=0.5pt,
mark size=2.5pt,
mark size=2.5pt,
mark=square*,
mark options={solid,fill=white}]
table[row sep=crcr]{
0 5\\
4 5\\
8 9.8\\
12 8.8\\
24 8.62\\};
\addplot [
color=black,
solid,
line width=0.5pt,
mark size=2.5pt,
mark size=2.5pt,
mark=*,
mark options={solid,fill=white}]
table[row sep=crcr]{
0 2\\
4 3\\
8 4.8\\
12 7.8\\
24 8.162\\};
\addplot [
color=black,
solid,
line width=0.5pt,
mark size=2.5pt,
mark size=2.5pt,
mark=halfdiamond*,
mark options={solid,fill=white}]
table[row sep=crcr]{
0 3\\
4 1\\
8 2.8\\
12 2.8\\
24 2.162\\};
\addplot [
color=black,
solid,
line width=0.5pt,
mark size=2.5pt,
mark size=2.5pt,
mark=triangle*,
mark options={solid,fill=white}]
table[row sep=crcr]{
0 4\\
4 3.3\\
8 5.8\\
12 5.7\\
24 6.162\\};
\legend {$Staphylococcus\ aureus$, $Escherichia\ coli$,$Listeria\ monocytogenes$,$Campylobacter\ jejuni$}
\end{axis}
\end{tikzpicture}%
\end{document}
另外,图尾只有一个点,谢谢
答案1
带标准标题的图
像这样?我添加了代码来在一行中显示图例,但我对其进行了注释,因为我不确定这是否真的是你的意思。(这对我来说看起来很傻,因为图例比图表宽得多!
\documentclass{article}
\usepackage{pgfplots,tikz}
\pgfplotsset{compat=newest}
\begin{document}
\begin{figure}
\begin{tikzpicture}
\begin{axis}[
color=black,
scale only axis,
xmin=0,
xmax=24,
%xtick={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24},
xtick={0,4,8,12,24}, %%%<------------- here
xlabel=\ {Time},
ymin=0,
ymax=10,
ytick={0,1,2,3,4,5,6,7,8,9,10},
yticklabels={0,1,2,3,4,5,6,7,8,9,10},
ylabel=\ {log(Cfu/cm$^{2}$)},
y axis line style={black},
ytick style={black},
yticklabel style={black},
axis x line*=bottom,
axis y line*=left,
tick align = outside,
every axis legend/.append style={
at = {(.5,-.2)},
anchor = north,
% legend columns=-1, % to display legends in one line but do you really want this?
legend cell align = left,
draw = none,
legend columns = 2,
},
]
\addplot [
color=black,
solid,
line width=0.5pt,
mark size=2.5pt,
mark size=2.5pt,
mark=square*,
mark options={solid,fill=white}
]
table[row sep=crcr]{
0 5\\
4 5\\
8 9.8\\
12 8.8\\
24 8.62\\};
\addplot [
color=black,
solid,
line width=0.5pt,
mark size=2.5pt,
mark size=2.5pt,
mark=*,
mark options={solid,fill=white}]
table[row sep=crcr]{
0 2\\
4 3\\
8 4.8\\
12 7.8\\
24 8.162\\};
\addplot [
color=black,
solid,
line width=0.5pt,
mark size=2.5pt,
mark size=2.5pt,
mark=halfdiamond*,
mark options={solid,fill=white}]
table[row sep=crcr]{
0 3\\
4 1\\
8 2.8\\
12 2.8\\
24 2.162\\};
\addplot [
color=black,
solid,
line width=0.5pt,
mark size=2.5pt,
mark size=2.5pt,
mark=triangle*,
mark options={solid,fill=white}]
table[row sep=crcr]{
0 4\\
4 3.3\\
8 5.8\\
12 5.7\\
24 6.162\\};
\legend {$Staphylococcus\ aureus$, $Escherichia\ coli$,$Listeria\ monocytogenes$,$Campylobacter\ jejuni$}
\end{axis}
\end{tikzpicture}
\caption{Growth of different types foodborne pathogens.}
\end{figure}
\end{document}
格式化标题
基于Andreas Wallner 的回答,添加
\usepackage{caption}
\DeclareCaptionLabelSeparator{fullstop}{.\quad}
\captionsetup[figure]{labelsep=fullstop}
您的序言将相应地修改图形标题的格式:
调整尺寸
您可以使用以下方式调整图的大小
\pgfplotsset{width=120mm}