普通饼图
DataFrame.plot.pie():对matplotlib.pyplot.pie()的打包调用。 https://matplotlib.org/api/_as_gen/matplotlib.pyplot.pie.html
ccss.s5.value_counts().plot.pie()
plt.pie(ccss.s5.value_counts(), labels = ccss.s5.value_counts().index)
plt.pie(ccss.s5.value_counts(), labels = ccss.s5.value_counts().index,
explode = [0,0.5,0,0.5,1,0,1,0,1,0,1])
plt.pie(ccss.s5.value_counts(), labels = ccss.s5.value_counts().index,
explode = [0,0.5,0,0.5,1,0,1,0,1,0,1],
shadow = True, startangle = 90, radius = 2,
counterclock = False, rotatelabels = True)
半圆图
饼块对应数值大于等于1时,会自动转换为所对应的构成比并加以显示。
当饼块对应数值总和小于1时,则按照原始数值绘制饼块大小,此时就可形成半圆图/扇区图。
另一种思路是绘制和底色相同的扇区,但在matplotlib中这样做显然画蛇添足了。
plt.pie([0.1,0.2,0.1,0.3])
plt.figure(figsize=(6, 6))
plt.pie(ccss.s5.value_counts(normalize = True)/2,
labels = ccss.s5.value_counts().index)
圆环图
Axes对象可以叠加绘图,因此利用该功能在饼图中心叠加一个同底色的圆形即可。
plt.pie([1])
plt.pie([1], colors = ['#ffffff'])
plt.figure(figsize=(6, 6))
plt.pie(ccss.s5.value_counts(),
labels = ccss.s5.value_counts().index)
plt.pie([1], colors = ['#ffffff'], radius = 0.7)
plt.figure(figsize=(6, 6))
plt.pie(ccss.s5.value_counts(normalize = True)/2,
labels = ccss.s5.value_counts().index)
plt.pie([1], colors = ['#ffffff'], radius = 0.7)
|