首页
学习
活动
专区
工具
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

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

相关·内容

  • 手摸手告诉 UI 妹子数据可视化 20 条优化细则【切图仔直接收藏】

    小序:做数据可视化的时候,很多时候 UI 妹纸非得自己搞一套设计,可是明明前端图表库已经设定好是这样这样,她非得那样那样;所以,为难咱前端切图仔,必须得掌握点理论知识,才有可能和妹纸进一步的沟通,从而实现良性发展、共同进步。。。🐶 ---- 现如今的应用程序(设计、运营、迭代等)都高度依赖数据,由数据来驱动,我们对于 数据可视化 的需求也愈来愈高。 然而,时不时的,我们总是会遇到一些让人产生疑惑的可视化展示。所以,需要做点什么,来尽力规避这种“混乱”,能否梳理出一些简单的规则来改变这一点? 规则的魅力并不

    02
    领券