matplotlib学习日记-各种饼状图的绘制

Posted ai-bingjie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matplotlib学习日记-各种饼状图的绘制相关的知识,希望对你有一定的参考价值。

(一)分裂式饼状图

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False
labels = ["A难度水平", "B难度水平", "C难度水平", "D难度水平"]
students = [0.35, 0.15, 0.20, 0.30]
colors = ["#377eb8", "#4daf4a", "#984ea3", "#ff7f00"]
explode = [0.1, 0.1, 0.1, 0.1]
plt.pie(students,explode=explode,labels=labels,autopct="%3.1f%%",startangle=45,shadow=True,colors=colors)
‘‘‘
explode----->饼边缘偏离半径的百分比,出现分离的原因
shadow------>阴影
‘‘‘
plt.title("选择不同难度测试试卷的学生占比")
plt.show()

技术图片

(二)非分裂式饼状图

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False
labels = ["A难度水平", "B难度水平", "C难度水平", "D难度水平"]
students = [0.35, 0.15, 0.20, 0.30]
colors = ["#377eb8", "#4daf4a", "#984ea3", "#ff7f00"]
explode = [0.1, 0.1, 0.1, 0.1]
plt.pie(students, labels=labels, autopct="%3.1f%%", startangle=45, pctdistance=0.7, labeldistance=1.2, colors=colors)
‘‘‘
pctdistance------>控制百分比数值的显示位置
labeldistance----->控制标签值得显示位置
‘‘‘
plt.title("选择不同难度测试试卷的学生占比")
plt.show()

技术图片

(三)内嵌环形图

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False
elements = ["面粉", "砂糖", "奶油", "草莓酱", "坚果"]
weight1 = [40, 15, 20, 10, 15]
weight2 = [30, 25, 15, 20, 10]

colormapList = ["#e41a1c", "#377eb8", "#4daf4a", "#984ea3", "#ff7f00"]

outer_colors = colormapList
inner_colors = colormapList

wedges1, texts1, autotexts1 = plt.pie(weight1, autopct="%3.1f%%", radius=1, pctdistance=0.85, colors = colormapList,
                                      textprops=dict(color="w"), wedgeprops=dict(width = .3, edgecolor="w"))
wedges2, texts2, autotexts2 = plt.pie(weight2, autopct="%3.1f%%", radius=0.7, pctdistance=0.75, colors = colormapList,
                                      textprops=dict(color="w"), wedgeprops=dict(width = .3, edgecolor="w"))
plt.legend(wedges1, elements, fontsize=12, title="配料表", loc="center left",bbox_to_anchor=(0.91, 0, 0.3, 1))
plt.setp(autotexts1, size=15, weight="bold")
plt.setp(autotexts2, size=15, weight="bold")
plt.setp(texts1, size=12)
plt.title("不同果酱面包配料比例表")
plt.show()

技术图片

 

以上是关于matplotlib学习日记-各种饼状图的绘制的主要内容,如果未能解决你的问题,请参考以下文章

python绘制带有负百分比的饼状图

matplotlib饼状图学习小记

绘制matplotlib 饼状图

基于matplotlib的数据可视化 - 饼状图pie

06-matplotlib-饼状图

python的matplotlib饼状图