效果图:
主要步骤:
1. 数据准备:自己赋值的随机数
2. 图像绘制:绘制饼图
详细代码:着急的直接拖到最后有完整代码
步骤一:导入库包及图片存储路径并设置中文字体为宋体,西文为新罗马(没有的库包要先下好奥)
###############################################################################
# 导入库及文件
import matplotlib.pyplot as plt
from matplotlib import rcParams
config = {
"font.family": 'serif',
"font.size": 12,
"mathtext.fontset": 'stix',
"font.serif": ['SimSun'],
}
rcParams.update(config)
rcParams['axes.unicode_minus']=False
步骤二:自己赋值了一些数据
###############################################################################
figpath = r'H:/00.csdn/02fig/'
data = [32, 56, 73, 12, 39, 87]
label = ['a', 'b', 'c', 'd', 'e', 'f']
color = ['#E9BAA4', '#89BDCC', '#7B86A3', '#B6D8CB', '#AD9A85',
'#AEB3C6', '#D57F70', '#89BDCC', '#64AA9A']
步骤三:绘制饼图主体
###############################################################################
# 绘制图像
fig = plt.figure(figsize=(8, 8)) # 创建画布
ax = fig.add_axes([0.1, 0.6, 0.6, 0.4]) # 安排子图位置
# data:所绘制的数据
# labels:数据的标签,这里不显示
# colors:饼图颜色
# autopct:饼图百分数保留的位数
# explode:选择哪一块突出显示
# radius:饼图半径
# textprops:饼图中文本的字号及颜色
wedges, text, autotexts = ax.pie(data,
labels=None,
colors=color,
autopct='%1.2f%%',
explode=[0, 0.1, 0, 0, 0, 0],
radius=0.9,
textprops={'size':10, 'color':'r'}
)
步骤四:添加图例及标题
# 绘制图例及标题
ax.legend(wedges, label, loc="right", bbox_to_anchor=(0.9,0,0.3,1))
ax.set_title('饼图')
步骤五:保存图像
###############################################################################
# 输出并保存图像
plt.savefig(figpath+'010 饼图.png', bbox_inches = 'tight', dpi=600, format='png')
plt.show()
完整代码在这里:
###############################################################################
# 导入库及文件
import matplotlib.pyplot as plt
from matplotlib import rcParams
config = {
"font.family": 'serif',
"font.size": 12,
"mathtext.fontset": 'stix',
"font.serif": ['SimSun'],
}
rcParams.update(config)
rcParams['axes.unicode_minus']=False
###############################################################################
figpath = r'H:/00.csdn/02fig/'
data = [32, 56, 73, 12, 39, 87]
label = ['a', 'b', 'c', 'd', 'e', 'f']
color = ['#E9BAA4', '#89BDCC', '#7B86A3', '#B6D8CB', '#AD9A85',
'#AEB3C6', '#D57F70', '#89BDCC', '#64AA9A']
###############################################################################
# 绘制图像
fig = plt.figure(figsize=(8, 8)) # 创建画布
ax = fig.add_axes([0.1, 0.6, 0.6, 0.4]) # 安排子图位置
# data:所绘制的数据
# labels:数据的标签,这里不显示
# colors:饼图颜色
# autopct:饼图百分数保留的位数
# explode:选择哪一块突出显示
# radius:饼图半径
# textprops:饼图中文本的字号及颜色
wedges, text, autotexts = ax.pie(data,
labels=None,
colors=color,
autopct='%1.2f%%',
explode=[0, 0.1, 0, 0, 0, 0],
radius=0.9,
textprops={'size':10, 'color':'r'}
)
# 绘制图例及标题
ax.legend(wedges, label, loc="right", bbox_to_anchor=(0.9,0,0.3,1))
ax.set_title('饼图')
###############################################################################
# 输出并保存图像
plt.savefig(figpath+'010 饼图.png', bbox_inches = 'tight', dpi=600, format='png')
plt.show()