在LaTeX中绘制条形图的最佳方法是什么?

时间:2010-06-05 03:59:43

标签: latex charts drawing

我在Stack Overflow中寻找它,就像谷歌一样,我找到了很多要绘制的包,但这似乎是一个复杂的任务,所以我想知道哪个是最适合绘制条形图的包,以及将数据关联到它。我也在寻找代码示例,但我没有运气。

3 个答案:

答案 0 :(得分:39)

包装:bchart

示例代码:

\documentclass[varwidth=true, border=2pt]{standalone}

\usepackage{bchart}

\begin{document}
    \begin{bchart}[step=2,max=10]
        \bcbar{3.4}
            \smallskip
        \bcbar{5.6}
            \medskip
        \bcbar{7.2}
            \bigskip
        \bcbar{9.9}
    \end{bchart}
\end{document}

结果:

bchart example

包:pgfplots

示例代码:

% Source: https://tex.stackexchange.com/a/8584/5645
\documentclass[varwidth=true, border=2pt]{standalone}

\usepackage{pgfplots}

\begin{document}
    \begin{tikzpicture}
        \begin{axis}[
            symbolic x coords={a small bar, a medium bar, a large bar},
            xtick=data
          ]
            \addplot[ybar,fill=blue] coordinates {
                (a small bar,   42)
                (a medium bar,  50)
                (a large bar,   80)
            };
        \end{axis}
    \end{tikzpicture}
\end{document}

结果:

pgfplots

我计划在my GitHub repository添加更多示例。您可能也对tex.stackexchange.com tag:bar-chart感兴趣。

答案 1 :(得分:25)

对于pgfplots包来说,这听起来很简单。手册中的第4.5节包含了很多例子,从头开始逐步解释一切。如果您需要更多pgfplots示例,那么专门针对TeXample的情节的部分可能会引起关注。没有任何条形图,但它包含一些很好的(并且更精细)功能的例子。

至于一个代码示例,我可以从手册中复制并粘贴一个,但是我认为这不会对这篇文章增加太多。

编辑:使用Matlab时,可以使用matlab2tikz。这样,您可以导出绘图而无需担心实际代码。条形图应该是可能的,但我还没有使用过这个功能,所以我不知道任何怪癖。我使用此Matlab脚本导出 导出的图表非常完美,您可以获得所需的一致性和灵活性:)。

答案 2 :(得分:8)

这可能被视为亵渎,但使用matlab,excel或任何其他工具生成绘图实际上并不是那么糟糕,只是包含PDF / jpg .pgfplots是一个更优雅的选项,但可能不是最快的。