Python+Matplotlib绘制高亮显示饼图的示例代码

 更新时间:2023年06月08日 11:12:44   作者:SpikeKing  
饼图 (Pie Chart) 是一种圆形统计图,被分割成片用于表示数值间的比例关系,本文为大家介绍了Matplotlib绘制高亮显示的饼图的函数源码,需要的可以参考一下

饼图 (Pie Chart) 是一种圆形统计图,被分割成片用于表示数值间的比例关系。每个切片的弧长以及相应的中心角和面积与其表示的量成正比。饼图适合用于展示构成、占比、份额等数据。

示例如下:

源码如下:

其中,高亮显示使用 plt.pie() 函数的 explode 参数,默认是全0列表,当设置超过0时,如0.05,则当前位置是高亮显示。

def draw_pie_chart(
    val_list, label_list, highlight_idx=-1,
    title="", xlabel="", ylabel="", figsize=(8, 8), font_scale=1.2,
    is_show=False, save_name="",
    **plot_kwargs,
):
    """
    绘制饼图

    :param val_list: 待处理数据
    :param label_list: 待处理数据的标签,
    :param highlight_idx: 高亮显示区域
    :param title: 图表标题
    :param xlabel: X 轴标签
    :param ylabel: Y 轴标签
    :param figsize: 图像尺寸
    :param font_scale: 字体缩放尺寸
    :param is_show: 是否显示
    :param save_name:  是否存储图像
    :param plot_kwargs:  其余参数
    :return:
    """

    assert len(val_list) == len(label_list)
    assert highlight_idx < len(val_list)

    sns.set(font_scale=font_scale)
    plt.figure(figsize=figsize)
    explode_list = [0.0 for _ in range(len(val_list))]

    # 高亮显示区域
    if highlight_idx >= 0:
        highlight_idx = min(highlight_idx, len(explode_list) - 1)
        explode_list[highlight_idx] = 0.05

    # 绘制饼图
    plt.pie(
        x=val_list,
        labels=label_list,
        autopct='%1.2f%%',
        colors=sns.color_palette('Set2'),
        # Add space around each slice
        explode=explode_list,
        ** plot_kwargs,
    )

    plt.title(title)
    plt.xlabel(xlabel)
    plt.ylabel(ylabel)

    if save_name:
        # transparent=True
        assert save_name.endswith("png") or save_name.endswith("jpg")
        plt.savefig(save_name, bbox_inches='tight', format='png')
    if is_show:
        plt.show()

    return plt.gcf()

def main():
    data_list = [11, 11, 7, 26]
    label_list = ["MSA Update", "Model Diversity", "MSA Ranking", "Unified Prediction"]
    draw_pie_chart(data_list, label_list, highlight_idx=0, is_show=True, save_name="xxx.png")

到此这篇关于Python+Matplotlib绘制高亮显示饼图的示例代码的文章就介绍到这了,更多相关Python Matplotlib饼图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • pandas中关于apply+lambda的应用

    pandas中关于apply+lambda的应用

    本文主要介绍了pandas中关于apply+lambda的应用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • Python语言开发高并发爬虫示例探讨

    Python语言开发高并发爬虫示例探讨

    这篇文章主要为大家介绍了Python语言开发高并发爬虫示例探讨,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • Python输入整数进行排序方式

    Python输入整数进行排序方式

    这篇文章主要介绍了Python输入整数进行排序方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • 用Python设计一个经典小游戏

    用Python设计一个经典小游戏

    本篇文章主要介绍如何用Python设计一个经典小游戏:猜大小。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-05-05
  • 使用Python opencv实现视频与图片的相互转换

    使用Python opencv实现视频与图片的相互转换

    这篇文章主要介绍了使用Python opencv实现视频与图片的相互转换,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • python3.6+django2.0开发一套学员管理系统

    python3.6+django2.0开发一套学员管理系统

    本篇文章给大家详细讲述了python3.6+django2.0开发一套学员管理系统的全部过程以及源码分享,有兴趣的朋友参考下。
    2018-03-03
  • python爬虫请求头的使用

    python爬虫请求头的使用

    这篇文章主要介绍了python爬虫请求头的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • python BeautifulSoup库的安装与使用

    python BeautifulSoup库的安装与使用

    这篇文章主要介绍了python BeautifulSoup库的安装与使用,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-12-12
  • 一文教会你用python裁剪图片

    一文教会你用python裁剪图片

    Python语言的图片处理使我们常常使用的方面,那么我们该如何实现图片的剪切呢?下面这篇文章主要给大家介绍了关于用python裁剪图片的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • 利用Python实现图书超期提醒

    利用Python实现图书超期提醒

    很多人喜欢逛图书馆,时不时去借本书,但每本书可能只可以借两个月,一旦超期不还就会进行相应的处罚!为什么不写个脚本来通知自己图书超期呢?说了这么多废话,我们就进入主题吧!!!
    2016-08-08

最新评论