Python数据可视化的例子 您所在的位置:网站首页 男女比例分析图怎么做 Python数据可视化的例子

Python数据可视化的例子

2023-12-22 23:58| 来源: 网络整理| 查看: 265

离散型变量的可视化之【饼图】****

1、matplotlib模块

pie函数的语法和参数含义如下:

pie(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) x:指定绘图的数据。explode:指定饼图某些部分的突出显示,即呈现爆炸式。labels:为饼图添加标签说明,类似于图例说明。colors:指定饼图的填充色。autopct:自动添加百分比显示,可以采用格式化的方法显示。pctdistance:设置百分比标签与圆心的距离。shadow:是否添加饼图的阴影效果。labeldistance:设置各扇形标签(图例)与圆心的距离。startangle:设置饼图的初始摆放角度。 radius:设置饼图的半径大小。counterclock:是否让饼图按逆时针顺序呈现。wedgeprops:设置饼图内外边界的属性,如边界线的粗细、颜色等。textprops:设置饼图中文本的属性,如字体大小、颜色等。center:指定饼图的中心点位置,默认为原点。frame:是否要显示饼图背后的图框,如果设置为True的话,需要同时控制图框x轴、y轴的范围和饼图的中心位置。

案例代码如下:

import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['Microsoft YaHei'] #显示中文标签,处理中文乱码问题 plt.rcParams['axes.unicode_minus']=False #坐标轴负号的处理 plt.axes(aspect='equal') #将横、纵坐标轴标准化处理,确保饼图是一个正圆,否则为椭圆 #构造数据 edu = [0.2515, 0.3724, 0.3336, 0.0368, 0.0057] labels = ['中专','大专','本科','硕士','其他'] explode = [0, 0.1, 0, 0, 0] #生成数据,用于凸显大专学历人群 colors = ['#9999ff', '#ff9999', '#7777aa', '#2442aa', '#dd5555'] #自定义颜色 plt.pie(x=edu, #绘图数据 explode=explode, #指定饼图某些部分的突出显示,即呈现爆炸式 labels=labels, #添加教育水平标签 colors=colors, autopct='%.2f%%', #设置百分比的格式,这里保留两位小数 pctdistance=0.8, #设置百分比标签与圆心的距离 labeldistance=1.1, #设置教育水平标签与圆心的距离 startangle=180, #设置饼图的初始角度 radius=1.2, #设置饼图的半径 counterclock=False, #是否逆时针,这里设置为顺时针方向 wedgeprops={'linewidth':1.5, 'edgecolor':'green'}, #设置饼图内外边界的属性值 textprops={'fontsize':10, 'color':'black'}, #设置文本标签的属性值 ) #添加图标题 plt.title('失信用户的受教育水平分布') #显示图形 plt.show()

出来的效果: 在这里插入图片描述 饼图中突出显示大专学历的人群,是因为在这300万失信人群中,大专学历的人数比例最高,该功能就是通过explode参数完成的。另外,还需要对如上饼图的绘制说明几点:

如果绘制的图形中涉及中文及数字中的负号,都需要通过rcParams进行控制。由于不加修饰的饼图更像是一个椭圆,所以需要pyplot模块中的axes函数将椭圆强制为正圆。自定义颜色的设置,既可以使用十六进制的颜色,也可以使用具体的颜色名称,如red、black等。如果需要添加图形的标题,需要调用pyplot模块中的title函数。代码plt.show()用来呈现最终的图形,无论是使用Jupyter或Pycharm编辑器,都需要使用这行代码呈现图形。 2、pandas模块

应用pandas模块的绘图“方法”plot。 该方法可以针对序列和数据框绘制常见的统计图形,例如折线图、条形图、直方图、箱线图、核密度图等。同样,plot也可以绘制饼图,接下来简单介绍一下该方法针对序列的应用和参数含义:

Series.plot(kind='line', ax=None, figsize=None, use_index=True, title=None, grid=None, legend=False, style=None, logx=False, logy=False, loglog=False, xticks=None, yticks=None, xlim=None, ylim=None, rot=None, fontsize=None, colormap=None, table=False, yerr=None, xerr=None, label=None, secondary_y=False, **kwds) kind:指定一个字符串值,用于绘制图形的类型,默认为折线图line。还可以绘制垂直条形图bar、水平条形图hbar、直方图hist、箱线图box、核密度图kde、面积图area和饼图pie。ax:控制当前子图在组图中的位置。例如,在一个2×2的图形矩阵中,通过该参数控制当前图形在矩阵中的位置。figsize:控制图形的宽度和高度,以元组形式传递,即(width,hright)。use_index:bool类型的参数,是否将序列的行索引用作x轴的刻度,默认为True。 title:用以添加图形的标题。grid:bool类型的参数,是否给图形添加网格线,默认为False。legend:bool类型的参数,是否添加子图的图例,默认为False。style:如果kind为line,该参数可以控制折线图的线条类型。logx:bool类型的参数,是否对x轴做对数变换,默认为False。logy:bool类型的参数,是否对y轴做对数变换,默认为False。loglog:bool类型的参数,是否同时对x轴和y轴做对数变换,默认为False。xticks:用于设置x轴的刻度值。yticks:用于设置y轴的刻度值。xlim:以元组或列表的形式,设置x轴的取值范围,如(0,3)表示x轴落在0~3的范围之内。ylim:以元组或列表的形式,设置y轴的取值范围。 rot:接受一个整数值,用于旋转刻度值的角度。fontsize:接受一个整数,用于控制x轴与y轴刻度值的字体大小。colormap:接受一个表示颜色含义的字符串,或者Python的色彩映射对象,该参数用于设置图形的区域颜色。table:该参数如果为True,表示在绘制图形的基础上再添加数据表;如果传递的是序列或数据框,则根据数据添加数据表。yerr:如果kind为bar或hbar,该参数表示在条形图的基础上添加误差棒。xerr:含义同yerr参数。label:用于添加图形的标签。 secondary_y:bool类型的参数,是否添加第二个y轴,默认为False。**kwds:关键字参数,该参数可以根据不同的kind值,为图形添加更多的修饰性参数(依赖于pyplot中的绘图函数)。

pandas模块中的plot“方法”可以根据kind参数绘制不同的统计图形,而且也包含了其他各种灵活的参数。除此,根据不同的kind参数值,可以调用更多对应的关键字参数**kwds,这些关键字参数都源于pyplot中的绘图函数。

案例代码如下:

import pandas as pd import matplotlib.pyplot as plt #构建序列 data1 = pd.Series({'中专':0.2515, '大专':0.3724, '本科':0.3336, '硕士':0.0368, '其他':0.0057}) #将序列的名称设置为空字符,否则绘制的饼图左边会出现None这样的字眼 data1.name = '' #控制饼图为正圆 plt.axes(aspect = 'equal') #防止中文乱码 plt.rcParams['font.sans-serif'] = ['Microsoft YaHei'] #plot方法对序列进行绘图 data1.plot(kind = 'pie', #选择图形类型 autopct = '%.2f%%', #饼图中添加数值标签 radius = 1, #设置饼图半径 startangle = 180, #设置饼图的初始角度 counterclock = False, #将饼图的顺序设置为顺时针方向 title = '失信用户的受教育水平分布', #为饼图添加标题 wedgeprops = {'linewidth':1.5, 'edgecolor':'green'}, #设置饼图内外边界的属性值 textprops = {'fontsize':10, 'color':'black'}, #设置文本标签的属性值 ) #显示图形 plt.show()

出来的效果: 在这里插入图片描述 应用pandas模块中的plot方法,也可以得到一个比较好看的饼图。该方法中除了kind参数和title参数属于plot方法,其他参数都是pyplot模块中pie函数的参数,并且以关键字参数的形式调用。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有