matplotlib -- 饼图各部分的顺序

作者: 赵阳_c149 | 来源:发表于2019-12-05 17:20 被阅读0次

问题

在分析数据的过程中,通常要对数据进行可视化,为了表示某一属性数据的分布,可以为数据画饼图:

import pandas as pd
import matplotlib.pyplot as plt
# 导入数据 df
plt.pie(df['value'].value_counts(), labels=['label_1','label_2'], autopct='%1.1f%%');

这里通过参数labels指定饼图上各部分的标签。这就引入了一个问题,怎么才能保证每个标签正确的对应到相应的部分呢?

分析

Make a pie chart of array x. The fractional area of each wedge is given by x/sum(x). If sum(x) < 1, then the values of x give the fractional area directly and the array will not be normalized. The resulting pie will have an empty wedge of size 1 - sum(x).

The wedges are plotted counterclockwise, by default starting from the x-axis.

并没有关于顺序的说明。仅仅提到,默认情况下,各部分是按照逆时针方向排列。

  • 接下来考虑df['value'].value_counts()的顺序
    通过多次实验,发现饼图的各部分其实是按照df['value'].value_counts()中数值的顺序逆时针排列的。
  • 查看value_counts()的定义

Return a Series containing counts of unique values.

The resulting object will be in descending order so that the first element is the most frequently-occurring element. Excludes NA values by default.

可以看到,value_counts()返回的是一个Series,其中的数值是降序排列的,也就是说第一个元素是出现频度最高的对象。

结论

饼图各部分的顺序是由第一个array-like的参数中数值的顺序决定的。在某些情况下,array-like的参数是以df['value'].value_counts()的形式提供,而df['value'].value_counts()内元素的顺序是降序排列的。所以说,在绘制饼图之前,要先查看value_counts()中元素的顺序,然后根据具体的情况为其指定labels

plt.pie(df['value'].value_counts(), labels=['label_1','label_2'], autopct='%1.1f%%');

相关文章

  • matplotlib -- 饼图各部分的顺序

    问题 在分析数据的过程中,通常要对数据进行可视化,为了表示某一属性数据的分布,可以为数据画饼图: 这里通过参数la...

  • 绘图常用

    matplotlib 分类变量 饼图 箱型图 lgb

  • python绘制带有负百分比的饼状图

    matplotlib饼状图:https://matplotlib.org/api/_as_gen/matplotl...

  • Python—Matplotlib基础

    一.Matplotlib简介 Matplotlib 能够创建多数类型的图表,如条形图,散点图,条形图,饼图,堆叠图...

  • 2018-04-24

    matplotlib绘图 通常我们可以绘制折线图、饼状图、柱状图,用matplotlib绘制折线图、柱状图情况较多...

  • Python数据可视化 -- 饼图

    matplotlib模块 选择matplotlib模块绘制饼图,首先需要导入该模块的子模块pyplot,然后调用模...

  • Python绘图(demo10-demo11)

    安装matplotlib 绘制条形图和饼图 绘制 条形 饼图 折线图 散点图 具有横轴和纵轴两个特征

  • 离散型变量的可视化

    一、饼图 需要导入matplotlib模块中子模块pyplot中的pie函数 二、条形图 饼图不擅长对比差异不大的...

  • 学习笔记----python绘图pie

    # python 绘制饼状图 #-*- coding:utf-8 –*- import matplotlib.py...

  • matplotlib绘制图表

    python中使用matplotlib库可以快速画简单的图表下面介绍下柱状图和饼图绘制1 柱状图绘制 2 饼状图绘...

网友评论

    本文标题:matplotlib -- 饼图各部分的顺序

    本文链接:https://www.haomeiwen.com/subject/gvxjgctx.html