笔搜屋

繁体版 简体版
笔搜屋 > python代码 > 第14章 数据可视化Ⅰ

第14章 数据可视化Ⅰ

章节错误,点此举报(免注册),举报后维护人员会在两分钟内校正章节内容,请耐心等待,并刷新页面。

数据可视化:把数据用图形的方式来呈现,例如:饼图,柱状图,折线图,条形图等等。

需要用到matplotlib库,它是python中非常强大的绘图库。

一、饼图

1.绘制方法

1)需要用到matplotlib库中的pyplot模块,用from...import...形式导入pyplot。

代码:

pip install matplotlib #安装

from matplotlib import pyplot

2)准备数据。创建一个列表,列表内存储需要绘制的数据。

代码:

my_list = [10,40,20,30]

3)画图。使用pyplot模块中的pie()函数,括号中填写需要绘制的参数,将上面的列表作为这个参数。程序会根据每一个数据,计算出每一块扇形的大小,并根据计算的结果绘制饼图。

代码:

pyplot.pie(my_list)

4)显示饼图。需要用到pyplot中的show()函数。

代码:

pyplot.show()

#一个最基本的饼图就绘制好了

2.美化

1)添加标签

Ⅰ画完饼图后发现,我们根本不知道哪一块分别对应哪个数据。为了更直观,可以在每个扇形旁边添加标签,要设置pie()函数的labels参数,填写在pie后面的小括号中,格式为(my_list,labels=参数)

需要注意的是,labels的参数需要设置为一个列表,列表中的每一个元素分别对应一个数据,顺序一一对应。

随后就又会出现一个问题:中文字体不支持显示,需要我们自行设置。

同样,看看你的电脑是什么牌子,苹果电脑用'Arial Unicode MS',Windows用'simhei',这段代码需要加在前面:pyplot.rcParams['font.sans-serif'] = 'simhei'。

代码:

pyplot.rcParams[‘font.sans-serif’] = 'simhei'

my_list = [10,40,20,30]

lab = ['事件一','事件二','事件三','事件四']

pyplot.pie(my_list,labels=lab)

Ⅱ还不够直观?可以添加百分比数据。代码为autopct='%f',填写在pie()函数的小括号中。%f表示以小数的形式显示数据,如果想要以整数形式显示,则填写%d。

这样显示的数据没有百分号,直接在%f后再加两个百分号就行了,加一个百分号会报错。

当以小数形式显示时,我们会发现小数点后的位数过多,想要控制位数,可以在%f中间填写.2,这样就会只显示两位小数了。小数点后的数字表示保留小数位数,即数字是几,就显示几位小数。

代码:

pyplot.pie(my_list,labels=lab,autopct='%.2f%%')

2)饼图的颜色可以自定义,颜色数据存储在一个列表中,和数据一一对应,将它添加到colors参数中。

代码:

colors = ['red','blue','green','yellow']

pyplot.pie(my_list,labels=lab,colors=colors,autopct='%.2f%%')

3)为了使饼图更加立体,可以添加阴影,代码为shadow=True。

代码:

pyplot.pie(my_list,labels=lab,colors=colors,autopct='%.2f%%',shadow=True)

4)设置为正圆形(否则可能为椭圆形)。

代码;

plt.axis('equal')

5)设置饼图的起始角度,默认为0度,需要使用到startangle参数。

代码:

pyplot.pie(my_list,labels=lab,colors=colors,autopct='%.2f%%',shadow=True,startangle=90)

##总代码##

from matplotlib import pyplot

pyplot.rcParams['font.sans-serif'] = 'simhei'

my_list = [10,40,20,30]

lab = ['事件一','事件二','事件三','事件四']

colors = ['red','blue','green','yellow']

pyplot.pie(my_list,labels=lab,colors=colors,autopct='%.2f%%',shabow=True,startangle=90)

plt.axis('equal')

pyplot.show()

【注】

pie n. 派

label n. 标记

angle n. 参数

equal n. 能力

font n. 字体

后面还有。。。

第14章 数据可视化Ⅰ

『加入书签,方便阅读』
123456