pgfplots:不同单位制中的两个 Y 轴

pgfplots:不同单位制中的两个 Y 轴

我正在尝试创建一个显示一些结果的图表,并在左侧 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 plotpgfplots \addplot\addplot [...] {..};

  • 一般情况下使用\centering而不是center在浮点数内部使用环境,参见我应该对图形和表格使用 center 还是 centering ?

相关内容