如何更改 tikz 饼图的边框宽度?

如何更改 tikz 饼图的边框宽度?

我有以下饼图,我想减小黑色边框线的宽度。

\documentclass{article}
\usepackage{pgf-pie} 
\begin{document}

\begin{figure}[htbp]
\resizebox{0.4\textwidth}{!}{
\centering
\begin{tikzpicture}[font=\tiny] 
\pie[radius=1.2,rotate=0,color={blue, red, yellow, green}]  
 {40/foo0, 51/foo1, 6/foo2, 3/foo3} 
\end{tikzpicture}
}
\centering
\caption{foo foo foo}
\label{fig:foo}
\end{figure}

\end{document}

我尝试了以下解决方案

  \documentclass{article}
  \usepackage{pgf-pie} 
  \begin{document}

  \begin{figure}[htbp]
  \centering
  \resizebox{0.4\textwidth}{!}{
    \begin{tikzpicture}[font=\tiny]
      \pie[
        radius=1.2,
        rotate=0,
        color={blue, red, yellow, green},
        style={border=1pt}
      ]{
        40/foo0,
        51/foo1,
        6/foo2,
        3/foo3
      }
    \end{tikzpicture}
  }
  \caption{foo foo foo}
  \label{fig:foo}
  \end{figure}

  \end{document}

它完成了所需的工作,但我收到以下错误

软件包 pgfkeys 错误:我不知道密钥 '/tikz/border=1pt',我将忽略它。也许您拼错了。

我该如何解决这个错误?

答案1

tikzlibrarypie.code文件中,我们有第 238 行style={thick}(默认参数)

通过在您的代码style={border=1pt}中用style =thin或替换style =very thin,我们可能会得到您想要的内容。

答案2

以下答案使用轮图包,是我写的。

line width可以在键的设置中使用键来更改线宽slices style

在此处输入图片描述

\documentclass[border=6pt]{standalone}
\usepackage{wheelchart}
\begin{document}
\begin{tikzpicture}
\wheelchart[
  counterclockwise,
  pie,
  slices style={
    fill=\WCvarB,
    draw=black,
    line width=0.5pt
  },
  start angle=0,
  wheel data=\WCperc
]{%
  40/blue/foo0,
  51/red/foo1,
  6/yellow/foo2,
  3/green/foo3%
}
\end{tikzpicture}
\end{document}

答案3

一种(不太科学的)方法是将其放大tikzpicture到 4 倍(包括文本),然后\scalebox{0.25}再缩小到原始大小。

\documentclass[border=0.2cm]{standalone}
\usepackage{pgf-pie}

\newcommand{\piechart}{%
      \pie[
        radius=1.2,
        rotate=0,
        color={blue, red, yellow, green},
        % style={border=1pt}
      ]{
        40/foo0,
        51/foo1,
        6/foo2,
        3/foo3
      }
}
 
\begin{document}
 
\begin{tikzpicture}
    \piechart
\end{tikzpicture}

\scalebox{0.25}{%
  \begin{tikzpicture}[scale=4, 
   every node/.style={scale=4}]
    \piechart
  \end{tikzpicture}
}
 
\end{document}

这显然是有效的——

带有粗线和细线的饼图

相关内容