Matplotlib---饼图

1. 饼图

`pie()`函数用于绘制饼图,其基本语法如下:

plt.pie(x, explode=None, labels=None, colors=None, autopct=None, startangle=None, shadow=False)

其中,参数含义如下:

- `x`: 数组,表示饼图中每个部分的数值大小。
- `explode`: 数组,表示每个部分距离饼图圆心的偏移量,默认为 None。
- `labels`: 数组,表示每个部分的标签,默认为 None。
- `colors`: 数组,表示每个部分的颜色,默认为 None。
- `autopct`: 字符串或函数,表示每个部分在饼图中所占比例的显示方式,可以是类似“%1.1f%%”这

样的字符串,或者是一个自定义函数,默认为 None。
- `startangle`: 数值,表示饼图的起始角度,默认为 None。
- `shadow`: 布尔值,表示是否显示阴影,默认为 False。

需要注意的是,`x`和`labels`参数必须同时存在或同时不存在,否则会报错。另外,`colors`和

`autopct`参数的长度必须与`x`的长度相同。

x = [10, 20, 30, 40]

plt.pie(x, autopct='%.1f%%')
plt.savefig('images/5-18.png')
plt.show()
df = pd.read_excel('data/plot.xlsx', sheet_name='pie1')
citys, values = df.省份, df.销量
# 饼图
plt.figure(figsize=(5, 5))
plt.pie(
            x=values,   # 值
            autopct='%.1f%%',  # 百分比
            labels=citys,  # 标签
            pctdistance=0.8,  # 百分比文字的位置
            explode=[0, 0, 0, 0.1, 0, 0.1, 0, 0, 0, 0],  # 分裂效果
            # 字体样式
            textprops={'fontsize': 12, 'color': 'blue'},
            shadow=True
       )

plt.savefig('images/5-19.png')
plt.show()

Matplotlib---饼图_第1张图片Matplotlib---饼图_第2张图片

# 饼图
plt.pie(
            x=values,   # 值
            autopct='%.1f%%',  # 百分比
            labels=citys,  # 标签
            pctdistance=0.8,  # 百分比文字的位置
            # 字体样式
            textprops={'fontsize': 10, 'color': 'k'},
            
            # 
            wedgeprops={'width': 0.4, 'edgecolor': 'w'}
       )

plt.savefig('images/5-20.png')
plt.show()

Matplotlib---饼图_第3张图片

df1 = pd.read_excel('data/plot.xlsx', sheet_name='pie1')
df2 = pd.read_excel('data/plot.xlsx', sheet_name='pie2')
citys1, values1 = df1.省份, df1.销量
citys2, values2 = df2.省份, df2.销量
plt.figure(dpi=200)

# 饼图
plt.pie(
            x=values1,   # 值
            autopct='%.1f%%',  # 百分比
            labels=citys1,  # 标签
            pctdistance=0.8,  # 百分比文字的位置
            # 字体样式
            textprops={'fontsize': 10, 'color': 'k'},
            
            # 
            wedgeprops={'width': 0.4, 'edgecolor': 'w'}
       )

# 饼图
plt.pie(
            x=values2,   # 值
            autopct='%.1f%%',  # 百分比
           #  labels=citys2,  # 标签
            pctdistance=0.8,  # 百分比文字的位置
            # 字体样式
            textprops={'fontsize': 8, 'color': 'k'},
            # 半径 
            radius=0.6
       ) 

plt.legend(citys1, fontsize=3)
plt.savefig('images/5-21.png')
plt.show()

Matplotlib---饼图_第4张图片

 

 

 

你可能感兴趣的:(matplotlib,matplotlib,python,开发语言)