目录:matplotlib.axes.Axes.pie函数实力讲解
- 一、前言
- 二、matplotlib.axes.Axes.pie()函数
- 三、代码示例
- 四、get_cmap函数
一、前言
本文章向大家介绍Python matplotlib.axes.Axes.pie()
实例讲解,主要分析其语法、参数、返回值和注意事项,并结合实例形式分析了其使用技巧。
二、matplotlib.axes.Axes.pie()函数
matplotlib库的axiss模块中的Axes.pie()函数用于绘制饼图:
用法: Axes.pie(self, 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, *, data=None)
参数:
此方法接受以下描述的参数:
- x:此参数是楔形尺寸。
- explode:此参数是len(x)数组,它指定偏移每个楔形的半径的分数。
- autopct:此参数是一个字符串或函数,用于用楔形数值标记楔形。
- colors:此参数是饼图将循环通过的matplotlib颜色args的序列。
- label:此参数是为每个楔形提供标签的字符串序列。
- pctdistance:此参数是每个饼图切片的中心与autopct生成的文本开头之间的比率。
- shadow:此参数用于在饼图下方绘制阴影。
- labeldistance:此参数是绘制饼形标签的径向距离。
- startangle:此参数用于将饼图的起点从x轴逆时针旋转角度。
- radius:此参数是饼图的半径。
- counterclock:此参数指定分数方向,顺时针或逆时针。
- wedgeprops:此参数是传递给构成饼的楔形对象的参数的字典。
- textprops:此参数是传递给文本对象的参数的字典。
- center:此参数是图表的中心位置。
- frame:如果为true,则此参数用于绘制带有图表的轴框架。
- rotatelabels:如果为true,则此参数用于将每个标签旋转到相应切片的角度。
返回值:
这将返回以下内容:
- patches:这将返回matplotlib.patches.Wedge实例的序列。
- texts:这将返回标签matplotlib.text.Text实例的列表。
- autotexts:这将返回数字标签的Text实例列表。
三、代码示例
以下示例说明了matplotlib.axes中的matplotlib.axes.Axes.pie()
函数:
import matplotlib.pyplot as plt
labels = 'week1', 'week2', 'week3', 'week4'
sizes = [10, 20, 30, 40]
explode = (0.1, 0, 0, 0)
fig1, ax1 = plt.subplots()
ax1.pie(sizes, explode = explode, labels = labels, autopct ='% 1.1f %%', shadow = True, startangle = 90)
ax1.axis('equal')
ax1.set_title('matplotlib.axes.Axes.pie Example')
plt.show()
import matplotlib.pyplot as plt
import numpy as np
fig, ax = plt.subplots()
size = 0.3
vals = np.array([[90, 43], [57, 60], [92, 20]])
cmap = plt.get_cmap("Spectral", 4)
mid_colors = cmap(np.array([1, 2, 3]))
ax.pie(vals.sum(axis = 1), radius = 1, colors = mid_colors, wedgeprops = dict(width = size, edgecolor ='w'))
plt.show()
import matplotlib.pyplot as plt
import numpy as np
fig, ax = plt.subplots()
size = 0.3
vals = np.array([[90, 43], [57, 60], [92, 20]])
cmap = plt.get_cmap("tab20c")
outer_colors = cmap(np.arange(3)*4)
mid_colors = cmap(np.array([1, 2, 3, 4, 5, ]))
inner_colors = cmap(np.array([4, 12, 5, 6, 9, 10]))
ax.pie(vals.sum(axis = 1), radius = 1, colors = outer_colors, wedgeprops = dict(width = size, edgecolor ='w'))
ax.pie(vals.sum(axis = 1), radius = 1-size, colors = mid_colors, wedgeprops = dict(width = size, edgecolor ='w'))
ax.pie(vals.sum(axis = 1), radius = 1-2 * size, colors = inner_colors, wedgeprops = dict(width = size, edgecolor ='w'))
plt.show()
四、get_cmap函数
from matplotlib import cm
camp = cm.get_cmap('viridis', 8)
camp
from matplotlib import cm
cmap = cm.get_cmap('rainbow', 8)
cmap