我正在尝试创建一个显示一些结果的图表,并在左侧 Y 轴上绘制 SI 单位,在右侧 y 轴上绘制英制单位。到目前为止,我的 MWE 已经很接近了,但从屏幕截图中可以看出,右侧 Y 轴的缩放比例不正确,位置也不正确。我缺少什么才能使右侧 Y 轴正确显示?
\documentclass[letterpaper]{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{figure}
\begin{center}
\begin{tikzpicture}
\begin{axis}[%
width=\linewidth,
xmin=0, xmax=200,
ymin=0, ymax=500,
domain=2:200,
range=0:700,
samples=101,
axis y line*=left,
restrict y to domain =0:700,
yticklabel style={
/pgf/number format/fixed,
/pgf/number format/precision=0
},
scaled y ticks=false,
xlabel={Dimension Ratio $DR$},
ylabel={Allowable Pressure (kPa)},
every axis plot/.append style={ultra thick},
legend pos=south west
]
%
\addplot[
smooth,
color=black,
]
plot {0.05/0.1*(2*205000/(3*(x-1)^3)+0.061*0.40)*1000};
\addlegendentry{$E' = 0.40$ MPa}
%
\end{axis}
\begin{axis}[
axis y line*=right,
axis x line=none,
xmin=0, xmax=1,
ymin=0, ymax=10442.72,
ylabel={Allowable Pressure (psf)},
yticklabel style={
/pgf/number format/fixed,
/pgf/number format/precision=0
},
scaled y ticks=false,
]
\end{axis}
\end{tikzpicture}
\end{center}
\caption{Allowable Pressure}
\end{figure}
\end{document}
答案1
两个轴必须具有相同的大小。您只用 更改了其中一个轴的大小width=\linewidth
,因此请为另一个轴添加相同的大小axis
。
其他的建议:
如果两个轴之间有多个共同的设置,则可以使用以下方式创建样式:
\pgfplotsset{myaxis/.style={width=0.9\linewidth, <other settings>}}
然后使用
\begin{axis}[myaxis, ..
plot
您使用的关键字是不必要的(并且使得普通的 TikZ和\addplot [...] plot {..};
混合在一起),我只会使用。\draw plot
pgfplots
\addplot
\addplot [...] {..};
一般情况下使用
\centering
而不是center
在浮点数内部使用环境,参见我应该对图形和表格使用 center 还是 centering ?