内容目录
饼图¶
饼图概念及介绍¶
饼图是一种圆形的统计图表,将数据以扇形的方式展示在一个圆形区域内,每个扇形的弧长表示数据的比例。饼图通常用于显示数据的相对比例,帮助我们直观地了解各部分在整体中的占比情况。
饼图的主要用途包括:
- 比例展示: 通过饼图,可以清晰地展示各部分数据在整体中的比例关系。
- 强调重点: 可以突出显示某些部分或特定数据的重要性。
- 直观表达: 饼图直观简洁,易于理解,适合用于展示数据的相对比例。
饼图绘制函数说明¶
plt.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None, radius=None, counterclock=True, wedgeprops=None, textprops=None, center=(0, 0), frame=False, rotatelabels=False, *, normalize=None, data=None)
- x (array-like): 数据数组,表示每个扇形的大小。
- explode (array-like, optional): 每个扇形距离中心的偏移量。
- labels (list, optional): 每个扇形对应的标签。
- colors (array-like, optional): 每个扇形的颜色。
- autopct (str or None, optional): 控制扇形内部文本的显示格式。
- pctdistance (float, optional): 百分比标签与圆心的距离。
- shadow (bool, optional): 是否显示阴影效果。
- labeldistance (float, optional): 标签与圆心的距离。
- startangle (float, optional): 起始角度。
- radius (float, optional): 饼图半径。
- counterclock (bool, optional): 是否逆时针绘制饼图。
- wedgeprops (dict, optional): 扇形属性。
- textprops (dict, optional): 文本属性。
- center (float, float), optional): 饼图中心位置。
- frame (bool, optional): 是否绘制轴框架。
- rotatelabels (bool, optional): 是否旋转标签。
饼图示例代码¶
In [11]:
import matplotlib.pyplot as plt
# 菜品销售额数据
sales = [1500, 800, 1200, 2000]
menu_items = ['牛排', '披萨', '意面', '沙拉']
colors = ['gold', 'lightcoral', 'lightskyblue', 'lightgreen']
# 设置中文显示字体
plt.rcParams['font.sans-serif'] = ['PingFang HK']
plt.figure(figsize=(15,8))
# 绘制饼图
plt.pie(sales, labels=menu_items, colors=colors, autopct='%1.1f%%', startangle=140)
# 添加标题
plt.title('某餐厅一天不同菜品销售额占比')
plt.show()
增加shadow参数¶
In [3]:
import matplotlib.pyplot as plt
# 菜品销售额数据
sales = [1500, 800, 1200, 2000]
menu_items = ['牛排', '披萨', '意面', '沙拉']
colors = ['gold', 'lightcoral', 'lightskyblue', 'lightgreen']
# 设置中文显示字体
plt.rcParams['font.sans-serif'] = ['PingFang HK']
plt.figure(figsize=(15,8))
# 绘制饼图
plt.pie(sales, labels=menu_items, colors=colors, autopct='%1.1f%%', startangle=140, shadow=True)
# 添加标题
plt.title('某餐厅一天不同菜品销售额占比')
plt.show()
增加explode分割偏移量¶
In [6]:
import matplotlib.pyplot as plt
# 菜品销售额数据
sales = [1500, 800, 1200, 2000]
menu_items = ['牛排', '披萨', '意面', '沙拉']
colors = ['gold', 'lightcoral', 'lightskyblue', 'lightgreen']
# 设置中文显示字体
plt.rcParams['font.sans-serif'] = ['PingFang HK']
plt.figure(figsize=(15,8))
# 绘制饼图
plt.pie(sales, labels=menu_items, colors=colors, autopct='%1.1f%%', startangle=140, shadow=True, explode=(0.1,0.2,0,0))
# 添加标题
plt.title('某餐厅一天不同菜品销售额占比')
plt.show()
接受返回值并修改字体颜色¶
In [10]:
import matplotlib.pyplot as plt
# 菜品销售额数据
sales = [1500, 800, 1200, 2000]
menu_items = ['牛排', '披萨', '意面', '沙拉']
colors = ['gold', 'lightcoral', 'lightskyblue', 'lightgreen']
# 接收返回值
patches, texts, autotexts = plt.pie(sales, labels=menu_items, colors=colors, autopct='%1.1f%%', startangle=140)
# 设置比例文字颜色为白色
for autotext in autotexts:
autotext.set_color('white')
# 添加标题
plt.title('某餐厅一天不同菜品销售额占比')
plt.show()