竹笋

首页 » 问答 » 问答 » 只需一行Python代码,轻松get表白
TUhjnbcbe - 2023/6/30 21:17:00

来源:数据STUDIO

作者:云朵君

大家好,我是云朵君,今天给大家介绍一个比较有意思的图形——华夫饼图。

没错,就是跟华夫饼一样的,由多个方块组成的图形。

华夫饼图(WaffleChart),或称为直角饼图,可以直观的描绘百分比完成比例情况。与传统的饼图相比较,华夫饼图表达的百分比更清晰和准确,它的每一个格子代表1%。

华夫饼图的典型应用是比较同类型指标完成比例。

虽然matplotlib并没有提供原生的华夫饼图接口,需要安装第三方包pywaffle,配合matplotlib绘制华夫饼图,但matplotlib与pywaffle完美融合,绘制图形也非常方便,只需一行代码即可完成精美图表绘制。

首先安装pywaffle:

pipinstallpywaffle

第一张华夫饼图

pywaffle的应用非常简单。首先将Waffle类传递给matplotlib.pyplot.figure函数的FigureClass参数,然后通过设置matplotlib.pyplot.figure函数的参数即可完成华夫饼图的定制。

importmatplotlib.pyplotaspltfrompywaffleimportWafflefig=plt.figure(FigureClass=Waffle,rows=,columns=39,#行或列都可以省略values=[,,,90])fig.show()

设置标题、标签和图例

通过设置对应参数,即可以对目标图进行自定义。

如标题和图例分别通过参数title和legend,均是接受字典中的matplotlib参数。标签参数为labels,如果未指定,values则将使用键作为标签。

设置颜色

颜色是影响一个图形外观的重要因素之一。参数colors接受列表或元组中的颜色。其长度必须等于values。如

values=[30,16,4]colors=[#,#D3D,#DCB]

更改色块颜色的另一种方法是将matplotlib中的Colormap传递给参数cmap_name,该参数可批量设置颜色。包括Pastel1,Pastel2,Paired,Accent,Dark2,Set1,Set2,Set3,tab10,tab20,tab20b,tab20c。

如cmap_name=tab10

比较有意思的是下面的字符和图标这两个参数。

设置字符

通过将一个字符列表或元组传递给参数characters,每个类别的类别字符可以具有不同的字符,但长度必须与values相同。

fig=plt.figure(FigureClass=Waffle,rows=5,values=[30,16,4],colors=[#4C8CB5,#B7CBD7,#C0C0C0],characters=,font_size=24)

设置图标

带有图标的华夫饼图也被称为象形图。

使用参数icons设置图表形状,通过将图标名称的列表或元组传递给参数icons,支持使用FontAwesome图标(

1
查看完整版本: 只需一行Python代码,轻松get表白