我有以下代码,想将图例设置在两个子图的正下方。如果子标题 (a) 与相应的饼图水平放置,那就太好了。
我发现:如何将小数字放在饼图切片外面而不弄乱。但我不知道如何将这个想法转移到我的案例中。
非常感谢你的帮助!
\documentclass[a4paper]{scrreprt}
\usepackage{subcaption}
\usepackage{tikz}
\usepackage{pgf-pie}
\begin{document}
\begin{center}
\begin{figure}
\centering
\begin{subfigure}[b]{0.35\textwidth}
\begin{tikzpicture}[scale=.85]
\tikzset{lines/.style={draw=black},}
\pie[color={gray,gray!50,gray!20},text=pin,sum=auto, after number=\%,style={lines},rotate=3.5,explode={0, 0, 0.5}]{85.8/Voters,12/Inactive,2.2/}
\end{tikzpicture}
\subcaption{Overall structure}
\end{subfigure}\hfill
\begin{subfigure}[b]{0.35\textwidth}
\begin{tikzpicture}[scale=.85]
\tikzset{lines/.style={draw=white},}
\pie[sum=2.2, after number=\%,text=legend,every only number node/.style={text=black},style={lines}]{.4/Hyperactives,.1/Soc. Med. Opposers,.6/Apathetic Members,.3/Financiers,.2/Interested Sustainers,.3/Analog Activists,.3/Informed Members}
\end{tikzpicture}
\subcaption{Affiliation clusters}
\end{subfigure}
\caption{Overview of party affiliation}
\end{figure}
\end{center}
\end{document}
答案1
这轮图我写的包,可以使用。
首先\wheelchart
,第三个切片随键一起移动explode{3}
。
使用键以列表形式指定颜色WClistcolorsA
。这些颜色可以与宏一起使用\WClistcolorsA
。百分比通过获取\WCperc
。
第二步\wheelchart
,用钥匙获得间隙gap
。
图例由键决定legend
。这是一个tabular
放置在 中的\node
。行由键决定legend row
。可以使用 获得所有行的结果\WClegend
。
使用密钥获得切片中的百分比wheel data
。
\documentclass[border=6pt]{standalone}
\usepackage{wheelchart}
\usepackage{siunitx}
\begin{document}
\begin{tikzpicture}
\pgfkeys{
/wheelchart,
counterclockwise,
perc precision=1,
radius={0}{2},
start angle=0
}
\wheelchart[
at={(-3,0)},
explode{3}=0.5,
lines=\WCvarB*0.5,
slices style={
\WClistcolorsA,
draw=black
},
WClistcolorsA={gray,gray!50,gray!20},
wheel data=\WCperc
]{%
85.8/1/Voters,
12/1/Inactive,
2.2/0/%
}
\wheelchart[
at={(3,0)},
data=,
gap=0.02,
legend row={\tikz\fill[\WClistcolorsB] (0,0) rectangle (0.3,0.3); & \WCvarB},
legend={
\node[anchor=north] at (-3,-2.5) {%
\begin{tabular}{l@{ }l}%
\WClegend%
\end{tabular}%
};
},
slices style=\WClistcolorsB,
WClistcolorsB={blue!60,cyan!60,yellow!60,orange!60,red!60,blue!60!cyan!60,cyan!60!yellow!60,red!60!cyan!60,red!60!blue!60,orange!60!cyan!60},
wheel data=\qty{\WCvarA}{\percent}
]{%
.4/Hyperactives,
.1/Soc. Med. Opposers,
.6/Apathetic Members,
.3/Financiers,
.2/Interested Sustainers,
.3/Analog Activists,
.3/Informed Members%
}
\end{tikzpicture}
\end{document}