我该如何解决“未定义颜色‘\dtlpie@segcolix’”?

我该如何解决“未定义颜色‘\dtlpie@segcolix’”?

我有以下 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 页以获取更多说明。

相关内容