根据现有表中的值创建坐标系或图表

根据现有表中的值创建坐标系或图表

我在文档中有一个如下所示的表格:

\documentclass{scrreprt}
\usepackage{array}
\begin{document}
\begin{table}[htpb]
\centering
\captionabove{occurrence of X by year}
\begin{tabular}{||c|c|c|c|c|c|c|c|c||}
\hline
1915-1991 & 1992-1998 & 1999 & 2000 & 2001 & 2002 & 2003 & 2004 & 2005\\
0 & 8 & 7 & 12 & 24 & 32 & 35 & 44 & 65\\
\hline
2006 & 2007 & 2008 & 2009 & 2010 & 2011 & 2012 & 2013 & 2014\\
79 & 106 & 126 & 147 & 158 & 150 & 170 & 205 & 219\\
\hline
\end{tabular}
\end{table}
\end{document}

是否可以采用完全相同的值并优雅地将它们放入坐标系横轴是纵轴为发生条状图

或者,在文档中传达该表中信息的最佳(可理解、令人赏心悦目的)方式是什么?

答案1

这虽然不是很赏心悦目,但却是一个不错的开始:

\documentclass{article}

\usepackage{filecontents}
\usepackage{array}
\usepackage{csvsimple}    
\usepackage{pgfplots}

\begin{filecontents*}{mytab.csv}
Year, Data
1915, 0
2002, 32
\end{filecontents*}

\begin{document}

\csvautotabular{mytab.csv}

\begin{tikzpicture}
  \begin{axis}[
    ybar,
    ]

    \addplot table [x=Year, y=Data, col sep=comma] {mytab.csv};
  \end{axis}
\end{tikzpicture}


\end{document}

此代码的主要问题是,您无法在表格中使用像 1915-1991 这样的年份范围,因为 tikz 会将这些年份解释为浮点数。肯定有办法解决这个问题,但我对 tikz 了解不够,无法判断。

相关内容