我有以下 LaTeX 文件:
\documentclass{article}
\usepackage[pdftex,active,tightpage]{preview}
\setlength\PreviewBorder{2mm}
\usepackage{datapie}
%\usepackage{xcolor}
%\xdefinecolor{\dtlpie@segcolix }{rgb}{.8,.6,.4} <- didn't work
\begin{document}
\begin{preview}
\DTLloaddb{myDB}{local-disk-space-piechart-2013-07-08.csv}
\DTLdisplaydb{myDB}
\DTLpiechart{variable=\Space,outerlabel=\Part}{myDB}{\Part=Part,\Space=Space}
%\DTLdisplaydb{myDB} <- this works
\end{preview}
\end{document}
使用这个 csv 文件:
Part,Space
programs,18124.8
movies,21606.4
source code,6246.4
VMs,3788.8
Android SDK,1228.8
Audio files,917.0
.cache,832.1
.config,358.5
Desktop,341.3
misc,829.44
我在 Makefile 中对其进行了如下编译:
pdflatex source.tex -output-format=pdf
我不知道如何才能消除这个错误:
[...]
(/usr/local/texlive/2012/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg))
! Package xcolor Error: Undefined color `\dtlpie@segcolix '.
See the xcolor package documentation for explanation.
Type H <return> for immediate help.
...
l.12 ...abel=\Part}{myDB}{\Part=Part,\Space=Space}
?
! Emergency stop.
...
l.12 ...abel=\Part}{myDB}{\Part=Part,\Space=Space}
! ==> Fatal error occurred, no output PDF file produced!
Transcript written on local-disk-space-piechart.log.
make: *** [make] Error 1
你知道如何解决这个问题吗?
答案1
根据datapie
文档(部分7.3 饼图颜色,第 131 页):
该
datapie
包预定义了饼图前八个部分的颜色。如果您需要超过八个部分,或者想要更改默认颜色,则需要使用\DTLsetpiesegmentcolor{<n>}{<color>}
第一个参数
<n>
是段索引(从 1 开始),第二个参数<color>
是颜色说明符,如在命令中使用的\color
。
\documentclass{article}
% Data
\usepackage{filecontents}
\begin{filecontents*}{data.csv}
Part,Space
programs,18124.8
movies,21606.4
source code,6246.4
VMs,3788.8
Android SDK,1228.8
Audio files,917.0
.cache,832.1
.config,358.5
Desktop,341.3
misc,829.44
\end{filecontents*}
\usepackage[active,tightpage]{preview}
\setlength\PreviewBorder{2mm}
\usepackage{datapie}
\begin{document}
\begin{preview}
\DTLsetpiesegmentcolor{9}{green!40!yellow}% Additional colour for segment 9
\DTLsetpiesegmentcolor{10}{green!40!pink!20!black}% Additional colour for segment 10
\DTLloaddb{myDB}{data.csv}
\DTLdisplaydb{myDB}
\DTLpiechart{variable=\Space,outerlabel=\Part}{myDB}{\Part=Part,\Space=Space}
%\DTLdisplaydb{myDB} <- this works
\end{preview}
\end{document}
答案2
默认情况下,饼图会分配八种颜色。但是您使用的是十个数据,需要十种颜色。应该定义第九和第十种颜色以消除错误。
\DTLsetpiesegmentcolor{9}{cyan}
\DTLsetpiesegmentcolor{10}{brown}
请在 之前尝试此命令\begin{document}
。另请参阅datatool.pdf
( texdoc datapie
) 的第 77 页以获取更多说明。