各位朋友、各位同仁们,大家好!
我需要调整这两个 tikZ 图的大小,它们是在我运行整个 tex 文档时创建的,所以我认为这行不通 \includegraphics[width=.9\linewidth]{something.png}
。你知道我该如何解决这个问题吗?
正如您在屏幕截图中看到的,两个图都太大了。
这是代码:
\begin{figure}[H]
\begin{center}
\begin{subfigure}{.6\textwidth}
\begin{tikzpicture}
\begin{axis}[ line width=0.7,/pgf/number format/.cd,
use period,
grid=major, % Display a grid
tick label style={font=\bfseries\large},
label style={font=\bfseries\normalsize},
grid style={gray!30},
xlabel={Epochs},
ylabel={rmse}]
\addplot[color=red,smooth] table[x expr=\coordindex,y index=0] {
1.1257
0.992
0.9681
0.9579
0.9521
0.9485
0.9457
0.9445
0.9432
0.9424
0.9413
0.9409
0.9409
0.9408
0.9402
0.9397
0.94
0.9397
0.9397
0.9392
0.9397
0.9395
0.9393
0.9398
0.9389
0.9394
0.9393
0.9396
0.9394
0.9393
0.9392
0.939
0.9389
0.9394
0.9393
0.9385
0.939
0.9393
0.9392
0.9395
0.9392
0.9396
0.9394
0.9391
0.9397
0.9393
0.9391
0.9397
0.9392
0.9393
};
\addlegendentry{Validation}
\addplot[color=blue,smooth] table[x expr=\coordindex,y index=0] {
1.1257
0.9836
0.9558
0.9431
0.9359
0.931
0.9277
0.9252
0.9233
0.9219
0.9205
0.9197
0.9189
0.9182
0.9177
0.9172
0.9168
0.9165
0.9162
0.9159
0.9157
0.9155
0.9153
0.9152
0.915
0.9149
0.9147
0.9146
0.9145
0.9143
0.9143
0.9142
0.9141
0.914
0.914
0.914
0.9139
0.9138
0.9137
0.9137
0.9136
0.9136
0.9136
0.9136
0.9135
0.9134
0.9134
0.9134
0.9133
0.9132
};
\addlegendentry{Train}
\end{axis}
\end{tikzpicture}
\caption{RMSE Movielens 100K}
\label{fig:sub11}
\end{subfigure}%
\begin{subfigure}{.5\textwidth}
\centering
\begin{tikzpicture}
\begin{axis}[
line width=0.7,
grid=major, % Display a grid
grid style={gray!30},
tick label style={font=\bfseries\large},
label style={font=\bfseries\normalsize},
xlabel={Epochs},
ylabel={rmse}]
\addplot[color=red,smooth] table[x expr=\coordindex,y index=0] {
1.1171
0.953
0.9303
0.9217
0.9171
0.9144
0.9126
0.9114
0.9105
0.91
0.9095
0.9092
0.9091
0.9088
0.9085
0.9085
0.9084
0.9082
0.9081
0.9081
0.9081
0.9081
0.9081
0.908
0.9079
0.9079
0.9079
0.908
0.9079
0.9078
0.908
0.9079
0.9078
0.9078
0.9078
0.9079
0.9079
0.9078
0.9079
0.9079
0.9078
0.9079
0.9078
0.9080
0.9079
0.9078
0.9079
0.9079
0.9079
0.9080
};
\addlegendentry{Validation}
\addplot[color=blue,smooth] table[x expr=\coordindex,y index=0] {
1.1171
0.9495
0.9254
0.9157
0.9105
0.9073
0.9052
0.9037
0.9026
0.9019
0.9012
0.9008
0.9005
0.9
0.8997
0.8996
0.8994
0.8991
0.899
0.8989
0.8988
0.8988
0.8987
0.8987
0.8985
0.8985
0.8984
0.8984
0.8983
0.8983
0.8983
0.8983
0.8982
0.8982
0.8981
0.8982
0.8981
0.8981
0.8981
0.8981
0.8981
0.898
0.898
0.898
0.898
0.898
0.898
0.898
0.898
0.8981
};
\addlegendentry{Train}
\end{axis}
\end{tikzpicture}
\caption{RMSE Movielens 1M}
\label{fig:sub22}
\end{subfigure}
\caption{Two datasets}
\end{center}
\end{figure}
答案1
您只需要相应地定义subcaptions
环境和pgfplots
图像的宽度:
\begin{subfigure}{.5\textwidth}
\begin{tikzpicture}
\begin{axis}[ width=\linewidth,
考虑到我对你上一个问题的回答(格式中的逗号:y 值),MWE 为:
\documentclass[11pt,a4paper,twoside,openright]{book}
\usepackage[spanish]{babel}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16} % not use `newest`,
\tikzset{
every picture/.prefix style={
execute at begin picture=\spanishdecimal{.}} % <--- solve the problem
}
\usepackage{subcaption}
\begin{document}
\begin{figure}[htb]
\pgfplotsset{width=\linewidth,
grid=major, % Display a grid
grid style={gray!30},
tick label style={font=\small},
label style={font=\bfseries},
xlabel={Epochs},
ylabel={rmse}
}
\begin{subfigure}{.5\textwidth}
\begin{tikzpicture}
\begin{axis}
\addplot[color=red,smooth] table[x expr=\coordindex,y index=0] {
1.1257
0.992
0.9681
0.9579
0.9521
0.9485
0.9457
0.9445
0.9432
0.9424
0.9413
0.9409
0.9409
0.9408
0.9402
0.9397
0.94
0.9397
0.9397
0.9392
0.9397
0.9395
0.9393
0.9398
0.9389
0.9394
0.9393
0.9396
0.9394
0.9393
0.9392
0.939
0.9389
0.9394
0.9393
0.9385
0.939
0.9393
0.9392
0.9395
0.9392
0.9396
0.9394
0.9391
0.9397
0.9393
0.9391
0.9397
0.9392
0.9393
};
\addlegendentry{Validation}
\addplot[color=blue,smooth] table[x expr=\coordindex,y index=0] {
1.1257
0.9836
0.9558
0.9431
0.9359
0.931
0.9277
0.9252
0.9233
0.9219
0.9205
0.9197
0.9189
0.9182
0.9177
0.9172
0.9168
0.9165
0.9162
0.9159
0.9157
0.9155
0.9153
0.9152
0.915
0.9149
0.9147
0.9146
0.9145
0.9143
0.9143
0.9142
0.9141
0.914
0.914
0.914
0.9139
0.9138
0.9137
0.9137
0.9136
0.9136
0.9136
0.9136
0.9135
0.9134
0.9134
0.9134
0.9133
0.9132
};
\addlegendentry{Train}
\end{axis}
\end{tikzpicture}
\caption{RMSE Movielens 100K}
\label{fig:sub11}
\end{subfigure}%
\begin{subfigure}{.5\textwidth}
\begin{tikzpicture}
\begin{axis}
\addplot[color=red,smooth] table[x expr=\coordindex,y index=0] {
1.1171
0.953
0.9303
0.9217
0.9171
0.9144
0.9126
0.9114
0.9105
0.91
0.9095
0.9092
0.9091
0.9088
0.9085
0.9085
0.9084
0.9082
0.9081
0.9081
0.9081
0.9081
0.9081
0.908
0.9079
0.9079
0.9079
0.908
0.9079
0.9078
0.908
0.9079
0.9078
0.9078
0.9078
0.9079
0.9079
0.9078
0.9079
0.9079
0.9078
0.9079
0.9078
0.9080
0.9079
0.9078
0.9079
0.9079
0.9079
0.9080
};
\addlegendentry{Validation}
\addplot[color=blue,smooth] table[x expr=\coordindex,y index=0] {
1.1171
0.9495
0.9254
0.9157
0.9105
0.9073
0.9052
0.9037
0.9026
0.9019
0.9012
0.9008
0.9005
0.9
0.8997
0.8996
0.8994
0.8991
0.899
0.8989
0.8988
0.8988
0.8987
0.8987
0.8985
0.8985
0.8984
0.8984
0.8983
0.8983
0.8983
0.8983
0.8982
0.8982
0.8981
0.8982
0.8981
0.8981
0.8981
0.8981
0.8981
0.898
0.898
0.898
0.898
0.898
0.898
0.898
0.898
0.8981
};
\addlegendentry{Train}
\end{axis}
\end{tikzpicture}
\caption{RMSE Movielens 1M}
\label{fig:sub22}
\end{subfigure}
\caption{Two datasets}
\end{center}
\end{figure}
\end{document}
注意:您应该考虑我提到的答案(关于 MWE)以及所有后续问题以及未来问题中对您的问题的所有评论。您的问题中只有代码片段需要愿意帮助您的人付出额外的努力。请帮助我们帮助您,并在未来始终提供 MWE。
编辑:来自机器人的选项,因为两者是平等的,我建议在开始时axis
合并在一起。pgfplotset
figure