그래프에 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}
캡션 형식 지정
기반안드레아스 월너의 답변, 추가
\usepackage{caption}
\DeclareCaptionLabelSeparator{fullstop}{.\quad}
\captionsetup[figure]{labelsep=fullstop}
서문에 따라 그림 캡션의 형식이 수정됩니다.
크기 조정
다음을 사용하여 플롯의 크기를 조정할 수 있습니다.
\pgfplotsset{width=120mm}