因此,我尝试使用 pgfplots 绘制 csv 文件。csv 文件如下所示,但包含更多数据:
以下是 csv 的下载链接:https://datawrapper.dwcdn.net/NDCZf/4/
我尝试使用这篇文章中的代码pgfplot:绘制 CSV 文件中的非数字数据。但我最终得到的结果是这样的:
以下是代码:
\documentclass[ngerman]{scrbook}
\usepackage[utf8]{inputenc}
\input{../shared/twp-cfg}
\begin{document}
\pgfplotstableread[col sep=comma]{../shared/data.csv}\datatable
\begin{tikzpicture}
\begin{axis}[
ybar,
xtick=data,
xticklabels from table={\datatable}{X},
xticklabel style={rotate=90,anchor=base,yshift=0.82cm},
]
\addplot table [col sep=comma, x expr=\coordindex, y=Terawatt-Hours(TWh)] {../shared/data.csv};
\end{axis}
\end{tikzpicture}
\end{document}
有没有办法解决这个问题并使图更宽?我是 LaTeX 新手,所以欢迎任何帮助。谢谢。
答案1
这个例子将帮助你入门。
\documentclass[12pt,a4paper]{article}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{width=10cm,compat=1.9}
\usetikzlibrary{dateplot}
\begin{filecontents*}[overwrite]{TRW.dat}
date, TRW
2010-11-01, 0.2
2010-12-01, 1
2011-01-01, 2
2011-02-01, 5
2011-03-01, 9
2011-04-01, 15
2011-05-01, 9
2011-06-01, 10
2011-07-01, 10.5
2011-08-01, 14
\end{filecontents*}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
date coordinates in=x,
ybar,
xtick=data,
xticklabel style= {rotate=90,anchor=near xticklabel},
xticklabel=\month --\year,
title={Energy Consumption},
xlabel={Date},
ylabel={Monthly, in terawatt-hours (TWh)},
]
\addplot table[col sep=comma,x=date,y=TRW] {TRW.dat};
\end{axis}
\end{tikzpicture}
\end{document}