柱柱状状图图入入门门教教程程::pyecharts绘绘图图初初探探
免费群
活活用用柱柱状状图图 ((1))
在这个专栏中,我们将学习如 灵活使用pyecharts,在不同的数据分析场景中完成可视化任
务,将信息以高效、美观的方式展示出来。
今天我们将学习柱形图(bar plot) 的绘制,柱形图又称条形图,是用宽度相同的柱子的高度或长短来
表示数据的多少,如下图:
不过条形图远没有你想象的那么简单。针对不同的场景,为了更清楚、美观、高效地展示数据结
论,我们往往要选择各种不同的条形图来完成数据可视化。今天我们要讲解的条形图有:
1. 垂直条形图
2. 水平条形图
3. 簇状条形图
在下一期,我们将会讲解如 绘制更多类型的条形图,比如堆积条形图、3D条形、正负条形图
等,我们还会为大家演示更多图形调整的细节,比如如 添加可拖动的轴范围筛选器,效果如下
图:
第1页
当然,Echarts支持的条形图远不止这么些,我们看下Echarts在JS中支持的部分例子:
不要着急,我们慢慢来。
一一、、获获取取并并清清洗洗数数据据
第一步,我们先获取数据,并进行必要的清洗。这次我们使用seaborn 中提供的经典数据集——
itanic数据集。 itanic数据集是泰坦尼克号的乘客数据,它包含了每位乘客的各种信息,以及该乘
客是否幸存。我们的目标就是找到哪些乘客更容易存活下来。
from seaborn import load_dataset
import pandas as pd
titanic = load_dataset ('titanic')
titanic.head ()
下面我们展示一下这个数据集中的一部分列,其中survived是指该乘客是否幸存,1代表幸存,0代
表死亡;sex代表性别,male代表男性,female代表女性;age是年龄,这里有一些小数信息,我们
要将它们转换成整数。
第2页
今天我们就以不同性别、年龄中的幸存人数来为大家讲解条形图的绘制。首先我们要计算得到我
们需要的数据:
titanic = titanic [pd.notnull (titanic ['age'])]
titanic ['age'] = titanic ['age'].map (int)
titanic ['age2'] = pd.cut (titanic ['age'],
bins= [0,1 ,2 ,3 ,4 ,60,80])
data = titanic.groupby (['sex ', 'age2'])['survived'].sum ()
data
可以看到,我们已经得到了不同性别、年龄分组中的幸存人数,接下来,我们就要开始绘制了。
二二、、垂垂直直条条形形图图
我们先来看看最简单的垂直条形图的绘制,在pyecharts中,我们用Bar()函数来绘制条形图。
在此之前,我们要保证安装了pyecharts和pyecharts_snapshot (直接使用pip install xxx即可)。
from pyecharts import Bar
data_male = data ['male']
data_female = data ['female']
bar = Bar ()
bar.add ('男性', data_male.reset_index ()['age2'], data_male)
我们看下右边的红框,第一个是下载按钮,我们可以将图片保存到本地;第二个是刷新按钮;第
三个是数据视图,我们可以查看原始数据。
pyecharts相对于基于matplotlib 的可视化工具,最大的好处就是其绘制的图形是动态图,我们可以跟
它交互,以知悉更多细节。后边我们将会用动图为大家展示如 与它交互。
我们来看一下这里的代码,首先我们用bar = Bar()生成一个条形图对象,然后我们用add()方法添加
数据。我们看下这里用到的参数:
第一个参数是name,是图例的名称;
第3页
第二个参数是x_axis,这是x坐标轴的数据,要以类似列表的形式传入;
第三个参数是y_axis,这是y坐标轴的数据,形式与x_axis类似。
三三、、水水平平条条形形图图
我们还可以将条形图横过来,从而实现水平条形图的绘制。水平条形图往往适用于分类变量水平
太多