python画华夫饼图

首先安装pywaffle库

pip install pywaffle

安装完成后调用库

import matplotlib.pyplot as plt
from  pywaffle import Waffle

开始画图

plt.rcParams['font.sans-serif']=['SimHei'] #图例显示中文,不然含中文显示不出来
plt.figure(
    FigureClass=Waffle,
    rows = 8,   # 华夫饼图表的行数
    #columns = 10,  华夫饼图表的列数
    values=[14, 18, 19, 26, 23],  #输入的值
    colors=["#FFA500", "#4384FF", "#232066", "#983D3D", "#DCB732"], #指定颜色
    icons=['layer-group', 'hospital-alt', 'hospital-user','globe','chalkboard-teacher'], #指定图标的样式
    icon_size=20,  #图表尺寸
    icon_legend=True,  #在图例中使用图标但不使用颜色条
    legend={
        'labels': ['第二课堂', '训练营', '培训营','网络平台','直播'],  #定义图例名称
        'loc': 'upper left',
        'bbox_to_anchor': (1, 1)
    }
)
plt.show()  #画图

画出来的图python画华夫饼图_第1张图片

 完成画图

接下来我们聊聊改函数的全部参数

values(list|dict|pandas.Series)  --每个类别的数值 如果是字典,则键将用作标签

rows(int) – 华夫饼图表的行数(要画的图有几行)

columns (int) --华夫饼图表的列数 (要画的图有几列)

如果传递行或列,则另一个参数将通过值的绝对值自动计算。

如果同时传递行和列,则块编号是固定的,块编号是根据缩放值计算的。

colors (list[str]|tuple[str]optional) --每个类别的颜色列表。其长度应与值相同(输入参数定义类别颜色)

labels(list[str]|tuple[str]optional) --每个类别的名称,如果值是字典,则此参数将替换为值的键

legend(dictoptional) --在字典中的参数

查看 https://matplotlib.org/api/_as_gen/matplotlib.pyplot.legend.html 中的完整参数列表

interval_ratio_x (floatoptional) --块之间的水平距离与块宽度的比率。[默认 0.2]

interval_ratio_y (floatoptional) --块之间的垂直距离与块高度的比率。[默认 0.2]

block_aspect_ratio (floatoptional) --块的宽度与高度之比。[默认值 1]

camp_name(optional) --默认颜色的色彩映射表的名称(如果未指定颜色)

查看 https://matplotlib.org/examples/color/colormaps_reference.html 中的完整列表

title (dictoptional) --标题 

查看 https://matplotlib.org/api/_as_gen/matplotlib.pyplot.title.html 中的完整参数列表

characters--字符串中的字符或每个类别的字符列表。[默认无]

font_size --字体真棒图标的字体大小。

默认大小不是固定的,取决于块大小。

“xx-small”、“x-small”、“small”、“medium”、“large”、“x-large”、“xx-large”的相对值或绝对字体大小

font_file --自定义字体文件的路径

icons (str|list[str]|tuple[str]optional) -- 图标(自定义图标样式)

如果是字符串,则所有类别都使用相同的图标;

如果它是图标的列表或元组,则长度应与值相同。

在 Icons | Font Awesome 上查看Font Awesome的完整列表

[默认无]

icon_style (str|list[str]|tuple[str]optional)--要使用的图标的样式

如果它是一个字符串,它将在给定样式中搜索图标。

如果它是列表或元组,则长度应与值相同,并且表示每个图标的样式。

[默认的“固体”]

有关详细信息,请访问 https://fontawesome.com/cheatsheet。

icon_size (int|stroptional)--字体真棒图标的字体大小。

默认大小不是固定的,取决于块大小。

“xx-small”、“x-small”、“small”、“medium”、“large”、“x-large”、“xx-large”的相对值或字体大小的绝对值。

icon_legend (booloptional) --是否在图例中使用图标但不使用颜色条。[默认false],不使用

plot_anchor (stroptional) --子图的对齐方法。{'C', 'SW', 'S', 'SE', 'E', 'NE', 'N', 'NW', 'W'}

在 https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.set_anchor.html 中查看详细信息

[默认“W”]

plots (dictoptional)--绘图

Waffle 类在字典中子情节的位置和参数,格式如 {pos: {subplot_args: values, }, }。

Pos 可以是三个整数的元组,其中第一个数字是行数,第二个数字是列数,第三个数字是子图的索引。

Pos 也可以是 int 或字符串类型的 3 位数字。例如,它接受 235 或“235”代表具有 J 行和 K 列的网格上的第 I 个图。请注意,所有整数必须小于 10,此表单才能正常工作。

子图的参数与 Waffle 类参数相同,但不包括图本身。

如果未分配子图的任何参数,它将在 Waffle 类中使用相同的参数作为默认值。

starting_location (stroptional)--更改绘制块的起始位置。{'NW', 'SW', 'NE', 'SE'}

当它是“NW”时,这意味着情节从左上角开始;“SW”表示情节从左下角开始;“NE”表示情节从右上角开始;“SE”表示绘图从右下角开始。

[默认“SW”]

rounding_rule (stroptional)--调整值以适合图表大小时应用的舍入规则。{'nearest', 'floor', 'ceil'}

当它是“最近”时,它是“四舍五入到最近,与偶数联系”舍入模式;

当它为“地板”时,它将舍入到间隔的两个端点中的较小值;

当它是“ceil”时,它会舍入到间隔的两个端点中的较大一个。

[默认的“最近”]

tight (bool|dictoptional) --设置在绘制时是否以及如何调用.tight_layout。

它可以是带有键“pad”,“w_pad”,“h_pad”,“rect”或“None”的布尔语或字典
如果是 bool,则设置在绘制时是否调用.tight_layout。
如果为 ,请改用参数。Nonefigure.autolayout
如果是字典,请将其作为 kwargs 传递给.tight_layout,覆盖默认填充。
[默认为真]

block_arranging_style (stringoptional)--设置如何排列块。{'normal', 'snake', 'new-line'}

如果它是“正常”的,它将以相同的方向逐行绘制块。
如果是“蛇”,它会用蛇图案绘制方块。
如果是“换行”,则在绘制每个类别时以新线开头。仅当仅分配了 其中一个 和,并且分配了或分配时,这才有效。rowscolumnsvertical=Falserowsvertical=Truerows
[默认“正常”]

你可能感兴趣的:(python,matplotlib,plotly)