首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在pgfplot中绘制这样的双y轴柱状图?

在pgfplot中绘制双y轴柱状图,可以通过以下步骤实现:

  1. 导入必要的包和设置绘图环境:
代码语言:txt
复制
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
  1. 定义数据源:
代码语言:txt
复制
\pgfplotstableread{
    X   Y1   Y2
    A   10   20
    B   15   25
    C   12   18
    D   17   22
    E   20   30
}\datatable
  1. 创建坐标系和绘制柱状图:
代码语言:txt
复制
\begin{tikzpicture}
    \begin{axis}[
        ybar,
        ymin=0,
        ymax=35,
        ylabel=左侧Y轴标签,
        xlabel=X轴标签,
        symbolic x coords={A,B,C,D,E},
        xtick=data,
        bar width=10pt,
        legend style={at={(0.5,-0.15)},anchor=north,legend columns=-1},
    ]
    \addplot table[x=X,y=Y1] {\datatable};
    \addlegendentry{Y1数据}
    \end{axis}
\end{tikzpicture}
  1. 添加第二个y轴和对应的柱状图:
代码语言:txt
复制
\begin{tikzpicture}
    \begin{axis}[
        ybar,
        ymin=0,
        ymax=35,
        ylabel=左侧Y轴标签,
        xlabel=X轴标签,
        symbolic x coords={A,B,C,D,E},
        xtick=data,
        bar width=10pt,
        legend style={at={(0.5,-0.15)},anchor=north,legend columns=-1},
    ]
    \addplot table[x=X,y=Y1] {\datatable};
    \addlegendentry{Y1数据}
    
    \begin{axis}[
        axis y line*=right,
        axis x line=none,
        ymin=0,
        ymax=35,
        ylabel=右侧Y轴标签,
        legend style={at={(0.5,-0.15)},anchor=north,legend columns=-1},
    ]
    \addplot table[x=X,y=Y2] {\datatable};
    \addlegendentry{Y2数据}
    \end{axis}
\end{tikzpicture}

以上代码中,通过\pgfplotstableread命令定义了数据源,然后在tikzpicture环境中创建了一个坐标系,并使用\addplot命令绘制了柱状图。如果需要添加第二个y轴,可以在同一个tikzpicture环境中再创建一个坐标系,并使用axis y line*=right命令将其放置在右侧。

这样就可以在pgfplot中绘制双y轴柱状图了。关于pgfplot的更多详细用法和参数设置,可以参考腾讯云的PGFPlots产品介绍链接地址:https://cloud.tencent.com/document/product/1137/46342

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的视频

领券